Google Ads
Forward installs and conversions to Google Ads.
The Google Ads integration reads spend and engagement from your Google Ads accounts into the SignalSeal dashboard, and writes conversions back via offline conversion uploads so campaigns can optimize against installs, trials and revenue.
You'll need access to the Google Ads account and permission to create conversion actions in it. If it sits under an MCC (manager) account, sign in with the manager-level user.
What's exchanged
SignalSeal pulls spend, impressions, clicks and (where Google supports it) reach per ad account.
For the write side, you map your SignalSeal source events to Google conversion actions in Event mapping:
- Source events - the SDK events (
INSTALL,LOGIN,SIGN_UP,REGISTER,START_TRIAL,SUBSCRIBE, …), plus therc_*/sw_*events if you've connected RevenueCat or SuperWall. - Google side - a conversion action ID you create in Google Ads (next section), not a fixed event name.
Connect Google
Google's OAuth scopes for the Ads API are coarse-grained, so the consent screen asks for broad permissions. SignalSeal only ever reads campaign reporting and uploads conversions - nothing else.
Start the connection
In SignalSeal: app → Ad Networks → Add ad network → Google → Connect with Google. Sign in with the user that has access to the account and approve the requested permissions (read ad accounts, upload conversions).
Pick the customer ID
After the redirect, choose the Google Ads customer ID this app reports to. Under an MCC you'll see the manager and its child accounts - pick the child account that runs the campaigns, not the manager.
Create conversion actions in Google Ads
Google has no single app-events pixel - each outcome you want to optimize against needs its own conversion action.
- Google Ads → Tools → Conversions → + New conversion action → Import → Other data sources or CRMs → Track conversions from clicks.
- Create one per outcome you'll track - typically App install, Trial start, Subscription, Purchase. Use a click-through window of 90 days for installs, 30 days for the rest.
- Open each one and copy its conversion action ID.
Map your events
Paste the Google conversion action ID next to each SignalSeal source event you want forwarded - several source events can point at the same conversion action. A common setup:
| SignalSeal source event | Google conversion action |
|---|---|
INSTALL | App install |
START_TRIAL, rc_trial_started, sw_trial_started | Trial start |
SUBSCRIBE, rc_subscription_started, sw_subscription_started | Subscription |
rc_trial_converted, rc_renewal, sw_trial_converted | Subscription |
Run your Google campaign
Run a regular web campaign (Search, Demand Gen, or Display) - not an App campaign.
Final URL
Set the ad's Final URL to the SignalSeal ad link from Ad Networks
→ Google in SignalSeal. It records the click - with the gclid
Google auto-tagging appends - and redirects on to your app store
listing. Don't use a Tracking template.
Targeting
Filter to mobile devices and the operating system this app runs on.
Troubleshooting
- Conversions count as zero in Google Ads - Google only attributes a conversion that carries a click ID. SignalSeal sends it when one is available; conversions from non-paid traffic upload but stay unattributed.
- Conversion lag - Google can take a day to surface uploaded conversions. Use the Postback Log for real-time confirmation the upload succeeded.
- Connection went red - a teammate likely revoked SignalSeal's access. Reconnect from Settings → Ad Accounts.
| Error | Meaning | Fix |
|---|---|---|
CUSTOMER_NOT_ENABLED | The Google Ads account isn't active. | Activate it in Google Ads, then re-validate. |
INVALID_CONVERSION_ACTION_ID | The mapped ID doesn't exist or belongs to a different customer. | Re-copy the ID from Google Ads. |
PERMISSION_DENIED | The connected user lost access. | Reconnect Google from Settings → Ad Accounts. |