Skip to main content
Google Ads · Subscription → renewalUse-case guide

How to track subscription to renewal and churn for Google Ads

A renewal happens inside a billing system on a schedule, with no customer and no browser anywhere near it, which makes it structurally invisible to anything that fires from a page. The harder question, which most guides skip entirely, is whether renewals should reach an ad platform at all — because sending them against the original click credits a year-old ad with revenue it did not just produce. On Google Ads the specifics that matter are the click identifier (gclid, gbraid and wbraid), the import mechanism (Google's offline conversion import), and conversion actions deduplicate on their own counting setting rather than an event ID, so the setting matters more here than the payload. The chain only works end to end if the identifier is captured on landing and stored on the subscription and invoice records in your billing system — no cookie survives the gap between subscription created and cancellation.

Free30 minutesNo obligation

Specific to Google Ads × Subscription → renewal

Google Ads renewals: a secondary action, mostly outside 90 days

On Google Ads, send the first successful subscription payment from your billing webhook as a primary conversion action, matched on the stored gclid, gbraid or wbraid and valued at expected lifetime value. Send renewals, if at all, to a separate secondary action that bidding ignores. Monthly renewals after the third cycle usually fall outside the 90-day import window anyway.

The 90-day offline import window settles most of the renewal debate on Google Ads before policy does. A monthly plan bought from a click on January 5 renews in February, March and April; every renewal after that sits outside the window and fails as unmatched. An annual plan's first renewal can never be imported against the original click at all. So the realistic upload is the first successful payment, plus perhaps two early renewals if you choose to send them.

If you do send early renewals, create a separate conversion action for them and mark it secondary. Secondary actions appear in reporting columns but are not used for bidding, which is exactly the role renewal revenue should play. Set the acquisition action's counting to one per click so a customer who re-subscribes after cancelling doesn't count twice against one ad. When a subscriber cancels inside the first billing period, a conversion adjustment upload can retract or restate the value; confirm the current adjustment format in Google's documentation before wiring it.

The common break on Google is the trial. A 14-day free trial means the gclid was captured at signup, but the first charge happens two weeks later in the billing system, often on a customer record that never received the identifier. Copy it from the signup onto the subscription object, and check how many trial-converted subscriptions carry one before trusting any trial-to-paid number from Google.

Google Ads · Subscription → renewal · what breaks

Where this funnel usually breaks — Google Ads · Subscription → renewal

  1. 01

    No browser present at renewal

    Not a bug and not fixable by any pixel. The webhook is the only event source that exists.

  2. 02

    Dunning retries counted several times

    One billing period retried four times can produce four events unless the conversion is keyed on the period.

  3. 03

    Renewals sent as acquisition conversions

    Which credits old clicks with new revenue and pulls optimization toward whatever was running a year ago.

Google Ads · Subscription → renewal · the fix

What working looks like — Google Ads · Subscription → renewal

  • Cancellation attributed to the click

    Weeks later if necessary, because the identifier lives on the subscription and invoice records in your billing system rather than in a cookie.

  • Google Ads bidding fed the real outcome

    Via offline conversion import, so it optimizes toward recurring revenue that is actually recurring rather than toward signups.

  • A reconciliation that closes

    Your billing system's paid invoices by payment date, net of refunds and failed payments matched per record against what Google Ads reports, over a fully closed window.

Google Ads · Subscription → renewal · architecture

The exact event sequence — Google Ads · Subscription → renewal

The break is structural rather than accidental: there is no browser at renewal, so the event source has to be the billing system's webhook. Beyond that the risk is one of policy, because a setup that sends every renewal as a purchase will inflate reported return by the entire size of the subscriber base.

  1. 1

    Subscription created

    The acquisition event, valued at expected lifetime rather than the first payment.

  2. 2

    First payment succeeded

    Where a trial converts into a business. Often the real acquisition moment.

  3. 3

    Recurring payment succeeded

    Renewal revenue. Reported always, sent only deliberately.

  4. 4

    Payment failed and dunning

    Not revenue. Retries must not each count as a renewal.

  5. 5

    Cancellation

    Reverses the lifetime value you claimed at acquisition.

Google Ads · Subscription → renewal · diagnose

What's specific to Google Ads

  1. 01

    Click 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.

  2. 02

    Import mechanism: 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.

  3. 03

    Deduplication

    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.

  4. 04

    Window and timing

    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.

  5. 05

    The Google Ads gotcha

    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 · Subscription → renewal · prove

How to prove the chain works — Google Ads · Subscription → renewal

Source of truth

your billing system's paid invoices by payment date, net of refunds and failed payments

  • The same identifier confirmed on the subscription and invoice records in your billing system after a full real journey through every step.
  • Cancellation confirmed arriving at Google Ads, verified by the match rate on the upload, not the success message.
  • Your billing system's paid invoices by payment date, net of refunds and failed payments reconciled against Google Ads per record over a fully closed window.

Google Ads · Subscription → renewal · free audit

What we check in the free audit

  • Click identifier: gclid, gbraid and wbraid
  • Import mechanism: offline conversion import
  • Deduplication
  • Window and timing
  • The Google Ads gotcha

Checked against

your billing system's paid invoices by payment date, net of refunds and failed payments

Get my free conversion tracking audit

Free30 minutesNo obligation

Google Ads · Subscription → renewal · when not to buy

When this doesn't apply to you — Google Ads · Subscription → renewal

  • If your subscription is annual with a very long trial, the first payment may fall outside the import window entirely — measure that before designing anything that depends on uploading it.
  • 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.
  • If your cycle from click to cancellation regularly exceeds the import window, the final event can't drive bidding whatever you build. Optimize toward first successful payment, valued at expected lifetime instead and use the later data for budget decisions rather than for bidding.
  • If almost none of your subscription records carry a click identifier today, that's the whole project.

Google Ads · Subscription → renewal · what we deliver

The implementation, on Google Ads

  • Capture gclid, gbraid and wbraid on landing

    Auto-tagging appends the identifier. Confirm it's enabled in every account — it gets switched off for cleaner analytics URLs more often than you'd expect, and that single setting removes conversion attribution, Enhanced Conversions and offline import in one go.

  • Persist it to the subscription and invoice records in your billing system

    Store the identifier on the subscription rather than the first order, because every renewal creates a new invoice and only the subscription persists across all of them.

  • Send cancellation from the record

    The billing system's payment webhook. Acquisition goes to the ad platforms at expected lifetime value; renewals go to your own reporting, and to a separate excluded conversion action if they go to a platform at all. Dispatched to Google Ads through Google's offline conversion import.

  • Deduplicate and reverse

    Conversion actions deduplicate on their own counting setting rather than an event id, so the setting matters more here than the payload. Cancellations and failed final payments reverse the lifetime value claimed at acquisition. Without this the reported number only ever rises, which no real subscription business does.

FAQ

Google Ads · Subscription → renewal questions, answered

Only as a secondary conversion action used for reporting, and only for renewals inside the 90-day import window. Bidding should run on the first paid conversion valued at expected lifetime.

Free · 30 min

Get subscription to renewal and churn tracked properly on Google Ads

Free30 minutesNo obligation