Google Ads conversion tracking for subscription businesses
Subscription economics live in retention, and a tracking setup that stops at the first payment tells the ad platforms nothing about it. What Google Ads adds on top of that is a mechanical requirement: gclid, gbraid and wbraid have to reach the record that holds the money, because Google Ads can only credit a conversion it can tie back to a click it recognizes. This page covers both halves — what a conversion is in subscription businesses, and what Google Ads specifically needs to accept it.
Free30 minutesNo obligation
Specific to Google Ads × Subscriptions
Google Ads for subscriptions: renewals, adjustments and the 90-day cap
Track a subscription on Google Ads as a conversion action for the first paid charge, sent server-side from the billing webhook with the gclid, gbraid or wbraid stored on the customer record. Import renewals and upgrades through offline conversion import while they fall inside 90 days of the click, and use conversion adjustments for refunds and downgrades.
For a monthly plan, the first charge and two renewals land inside the 90-day import window, so Google can learn which searches bring customers who pay three times rather than once. A free trial eats into that: a 14-day trial still leaves room for three charges, while a 30-day trial pushes the third to the edge of the window. Work out how many charges fit before deciding what to import.
Annual plans don't fit at all, since the renewal comes a year after the first charge. Keep annual and monthly as separate conversion actions with their own values, because one action mixing an upfront year with a single month gives bidding a value it can't interpret. Downgrades and refunds belong in conversion adjustments, which restate or retract the original conversion; check Google's current limits on how long after the conversion an adjustment is accepted.
Where it breaks for subscriptions specifically: the trial signup happens on the marketing site, but the first charge comes from billing two weeks later with no browser present. If the gclid lived only in a cookie, the charge has nothing to match. Write it to the customer record at trial signup. For B2B software, Enhanced Conversions for leads can also match on the hashed signup email when the identifier is missing.
Google Ads · Subscriptions · what breaks
Why Google Ads under-reports for subscription businesses
- 01
First payment measured, nothing after
Retention invisible to the platforms.
- 02
Churn never reported
Reported revenue only climbs.
- 03
Upgrades and downgrades ignored
Expansion revenue uncounted.
- 04
Gclid, gbraid and wbraid never reaches the record
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
Google Ads · Subscriptions · the fix
What working looks like — Google Ads · Subscriptions
The full lifecycle as events
Renewal, upgrade, downgrade, cancellation.
Reported value tracking reality
Because it moves in both directions.
Channels ranked by retained revenue
Not by signup count.
Google Ads · Subscriptions · architecture
How Google Ads and subscription businesses actually connect
- 1
The conversion in subscription businesses
First payment, renewal, upgrade, downgrade, cancellation. Reported value should move up and down over a customer's life, and in most setups it only moves up.
- 2
Google Ads needs a click to match
A click identifier inside the 90-day window, a conversion action name that matches one configured in the account, a conversion timestamp for when the outcome happened, and a value. Read the match rate after uploading — a file can upload perfectly and match nothing.
- 3
The identifier: gclid, gbraid and wbraid
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
- 4
Where it gets sent from
your billing system's invoice and subscription records.
- 5
Deduplication and window
There's no shared event ID mechanism like Meta's. What matters instead is the counting setting on each conversion action — 'one' for lead-type conversions so a repeat submitter doesn't count three times, 'every' for ecommerce where a second purchase is a second sale. This is the single most common misconfiguration we find in Google Ads accounts. Google's offline import window is 90 days from the click. Anything older can't be matched, and rows outside it fail as unmatched without much explanation. Measure your median click-to-outcome time against that before designing anything.
Google Ads · Subscriptions · events
The conversion map for subscription businesses
Five lifecycle events, of which most implementations send exactly one.
| Event | What it means here |
|---|---|
| First payment | Server-side from billing, at the amount charged. |
| Renewal | Server-side, each cycle. This is where lifetime value accumulates. |
| Upgrade | Server-side. Expansion revenue, and a strong quality signal. |
| Downgrade | Server-side, as a negative adjustment. |
| Cancellation and failed payment | Server-side. Voluntary and involuntary churn, kept separate. |
Google Ads · Subscriptions · diagnose
Diagnostic order — Google Ads · Subscriptions
- 01
Count records carrying gclid, gbraid and wbraid
- 02
Only the first charge sent
So every customer looks the same regardless of how long they stay.
- 03
Click ID lost after signup
Stored in a cookie rather than on the customer record.
- 04
Churn never reversed
The gap between reported and actual revenue widens every month.
- 05
Read the match rate on the upload, not the success message
A conversion action that stops receiving hits is flagged as inactive 30 days later — by which point a month of budget has already run against a missing signal. Check the last-received date on every action monthly; it takes two minutes and it's the cheapest monitoring available.
Google Ads · Subscriptions · prove
How it gets proven — Google Ads · Subscriptions
Source of truth
your billing system's invoice and subscription records
- Each lifecycle event confirmed arriving from a real subscription.
- Click ID present on a live customer record.
- A real cancellation and a real refund both tested and confirmed reversing.
- Collected revenue reconciled against billing for a closed month.
- The match rate on the upload, not the success message read directly, not inferred from an upload succeeding.
Google Ads · Subscriptions · free audit
What we check in the free audit
- Count records carrying gclid, gbraid and wbraid
- Only the first charge sent
- Click ID lost after signup
- Churn never reversed
- Read the match rate on the upload, not the success message
Checked against
your billing system's invoice and subscription records
Free30 minutesNo obligation
Google Ads · Subscriptions · when not to buy
When you don't need this — Google Ads · Subscriptions
- If Google Ads already reports conversions that reconcile against your billing system's invoice and subscription records within a few percent, this is working and there is nothing to buy.
- Measure identifier coverage yourself first — pull your last hundred records and count how many carry gclid, gbraid and wbraid.
- If you're running Performance Max exclusively and haven't separated your conversion actions, the import will work and the reporting won't tell you much. Worth sorting the account structure first.
Google Ads · Subscriptions · what we deliver
What gets built — Google Ads · Subscriptions
Billing webhooks wired to server events
Every state change, not just the first charge.
Click ID stored on the customer record
So renewals reference the original click.
Adjustments sent as they happen
Upgrades up, downgrades down.
Involuntary churn separated
Failed payments are a different problem.
Dispatch via Google's offline conversion import
Uploaded against the click identifier, either through the Google Ads API or as a file. The upload is the easy part; what limits it is how many of your records carry an identifier at all. Verify the current column format against Google's own template — it has changed before.
Written guarantee
95%+ tracking accuracy
Measured against your billing system's invoice and subscription records. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Google Ads · Subscriptions questions, answered
The first paid charge, if you get enough per month for bidding to learn. Trial starts are cheap to buy and trial-to-paid rates usually vary sharply by keyword.
Yes, through conversion adjustments, which can retract or restate the value of an earlier conversion. Confirm the current time limits and upload format in your account before relying on it.
Actual payments as they clear. A lifetime estimate at signup reports revenue you haven't earned and rewards channels that bring churners.
If you want bidding to distinguish good channels from cheap ones, yes. Retention is the whole subscription business and the platforms can't see it otherwise.
Store the click ID on the customer record at signup. Every subsequent invoice references it.
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
Uploaded against the click identifier, either through the Google Ads API or as a file. The upload is the easy part; what limits it is how many of your records carry an identifier at all. Verify the current column format against Google's own template — it has changed before.
By reading the match rate on the upload, not the success message and reconciling against your billing system's invoice and subscription records. An upload that succeeds is not an upload that matched.
More on Google Ads · Subscriptions
- SubscriptionsConversion tracking for subscription businesses, across the whole lifecycle
- Google Ads · Subscription → renewalHow to track subscription to renewal and churn for Google Ads
- Google Ads · CannabisGoogle Ads conversion tracking for cannabis businesses
RELATED GUIDES
More for subscription businesses: other angles on the same outcome
- SubscriptionsConversion tracking for subscription businesses, across the whole lifecycle
- Google Ads · BootcampsGoogle Ads conversion tracking for coding bootcamps and career training providers
- Google Ads · MembershipsGoogle Ads conversion tracking for membership communities
- Google Ads · Free trial → paidHow to track free trial to paid for Google Ads
- Google Ads × SubscriptionsHow to reconcile Google Ads against your billing system
- Afterpay → Google AdsConnecting Afterpay to Google Ads
- Google Ads · Driving schoolsGoogle Ads conversion tracking for driving schools
- Google Ads · EducationGoogle Ads conversion tracking for education providers
Free · 30 min
Get Google Ads reporting what subscription businesses actually earn
Free30 minutesNo obligation
