Skip to main content
Google Ads × SubscriptionsRun this yourself

How to reconcile Google Ads against your billing system

This is the check we run first on every account, written out so you can run it without us. It takes about thirty minutes and needs two numbers: what Google Ads says it produced, and what your billing system actually shows. The gap between them is the only honest measure of whether your tracking works — and if it comes back small, you do not need us.

Free30 minutesNo obligation

Specific to Google Ads × Subscriptions

Google Ads vs first subscription payments: join on the stored gclid

Store gclid, gbraid or wbraid on the billing customer at checkout, then match Google's conversions to first successful payments for a closed month. Read Google's conversion-time columns, not the click-date default. A small gap from consent loss is normal; Google counting more conversions than you have new subscribers usually means renewals are being uploaded.

The only per-record join here is the click identifier, and it has to survive the jump from your site to the billing system. Write gclid, gbraid or wbraid into the customer or subscription metadata when the checkout session is created. If checkout runs on a hosted payment page on another domain and nobody passes the identifier across, every subscription arrives in billing anonymous and Google's figure can only be compared as a total.

Google's default conversion columns assign each conversion to the date of the click, while your billing export is grouped by the date the subscription was created. With a trial in between, a click in late March can produce a first payment in April, so a closed month will look short on both sides at its edges. Use the columns that report by conversion time for this comparison. The 90-day import window only bites when a trial or a sales-assisted signup runs longer than that.

A gap where Google sits slightly below new paid subscriptions is the expected result of consent and lost identifiers. Google sitting above them is breakage, and the usual cause is a purchase conversion action that fires, or is uploaded, on every invoice rather than on the first one. Check that the action counts one conversion per click and that the upload filters to first payments.

Google Ads × Subscriptions · what breaks

Why Google Ads and your billing system disagree

  1. 01

    Every renewal firing as a conversion

    The single most common subscription error. A customer who stays two years produces twenty-four payment events, and counting them all inflates the conversion count by exactly your retention rate.

  2. 02

    Trial starts counted as paid conversions

    A free trial costs the user nothing. Optimising toward trials reliably finds people who start trials and never pay.

  3. 03

    Cancellations inside the first period never reversed

    Early churn on discounted offers is high, and the reversal is almost never wired.

  4. 04

    Lifetime value assumed rather than measured

    An industry figure for tenure will either starve a channel that works or overfund one that does not. Your own churn data says something different.

Google Ads × Subscriptions · the fix

What you get from this — Google Ads × Subscriptions

  • A number instead of a suspicion

  • The likely cause, narrowed

  • A basis for deciding

Google Ads × Subscriptions · architecture

What each side is actually counting — Google Ads × Subscriptions

  1. 1

    What Google Ads counts

    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.

  2. 2

    How Google Ads attributes 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.

  3. 3

    The window it uses

    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.

  4. 4

    What your billing system counts

    First successful payments on new subscriptions, found in Stripe, Chargebee, Recurly, Paddle or whatever charges the card.

  5. 5

    The filter that makes them comparable

    New subscriptions only — exclude renewals, and exclude trials that have not yet converted.

Google Ads × Subscriptions · events

Reading the gap — Google Ads × Subscriptions

15%+ platform higherUsually the wrong event entirely — the platform is counting renewals, trials, or subscriptions that cancelled before the first real charge.
20%+ platform lowerUsually structural — the platform is missing subscriptions it produced — usually a signup-to-payment gap longer than the attribution window.

Google Ads × Subscriptions · diagnose

Diagnostic order — Google Ads × Subscriptions

  1. 01

    Confirm both numbers cover the same period and channel

  2. 02

    Every renewal firing as a conversion

    The single most common subscription error. A customer who stays two years produces twenty-four payment events, and counting them all inflates the conversion count by exactly your retention rate.

  3. 03

    Trial starts counted as paid conversions

    A free trial costs the user nothing. Optimising toward trials reliably finds people who start trials and never pay.

  4. 04

    Cancellations inside the first period never reversed

    Early churn on discounted offers is high, and the reversal is almost never wired.

  5. 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 to know you did it right — Google Ads × Subscriptions

Source of truth

your billing system — new subscriptions for a fully closed month

    Google Ads × Subscriptions · free audit

    What we check in the free audit

    • Confirm both numbers cover the same period and channel
    • Every renewal firing as a conversion
    • Trial starts counted as paid conversions
    • Cancellations inside the first period never reversed
    • Read the match rate on the upload, not the success message

    Checked against

    your billing system — new subscriptions for a fully closed month

    Get my free conversion tracking audit

    Free30 minutesNo obligation

    Google Ads × Subscriptions · when not to buy

    When the answer is that you do not need us — Google Ads × Subscriptions

    • If almost all of your new subscriptions come from a channel with no click behind it, no tracking work will reach them — and knowing that is worth more than a build.
    • 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

    The method, step by step — Google Ads × Subscriptions

    • Pull what Google Ads reports

      The match rate on the upload, not the success message.

    • Pull what your billing system shows

      Export subscriptions by creation date for a closed month, filtered to those that took a first successful payment, and record the plan value.

    • Filter both to the same thing

      New subscriptions only — exclude renewals, and exclude trials that have not yet converted.

    • Compare per record, not on totals

    FAQ

    Google Ads × Subscriptions questions, answered

    Send the first successful payment as the primary conversion and keep any trial-start action secondary. Bidding toward trials finds people who start trials, which is not the same audience as people who pay.

    Free · 30 min

    Found a gap between Google Ads and your billing system?

    Free30 minutesNo obligation