SignalSeal Docs

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 the rc_* / 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.

  1. Google Ads → Tools → Conversions → + New conversion action → Import → Other data sources or CRMs → Track conversions from clicks.
  2. 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.
  3. 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 eventGoogle conversion action
INSTALLApp install
START_TRIAL, rc_trial_started, sw_trial_startedTrial start
SUBSCRIBE, rc_subscription_started, sw_subscription_startedSubscription
rc_trial_converted, rc_renewal, sw_trial_convertedSubscription

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.
ErrorMeaningFix
CUSTOMER_NOT_ENABLEDThe Google Ads account isn't active.Activate it in Google Ads, then re-validate.
INVALID_CONVERSION_ACTION_IDThe mapped ID doesn't exist or belongs to a different customer.Re-copy the ID from Google Ads.
PERMISSION_DENIEDThe connected user lost access.Reconnect Google from Settings → Ad Accounts.