Skip to main content
Google Ads · SaaSGoogle Ads × SaaS

Google Ads conversion tracking for SaaS companies

The conversion a SaaS business cares about happens weeks after the click, in a billing system, with no browser attached — which means browser-side tracking cannot see it by construction. 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 SaaS companies, and what Google Ads specifically needs to accept it.

Free30 minutesNo obligation

Specific to Google Ads × SaaS

Google Ads for SaaS: gclid on the account, first payment imported

For a SaaS company on Google Ads, the conversion that should carry real value is the first successful payment, imported through offline conversion import against the gclid, gbraid or wbraid stored on the account at signup. It is sent from the billing system once the charge clears, with a modelled-value trial start as the earlier signal.

Search is where SaaS intent is easiest to buy, and also where the most misleading signups come from. Competitor-alternative and pricing queries sign up evaluators who never pay, while branded terms pull in existing users looking for the login page. If the signup conversion fires on any account creation, both groups train bidding. Make the trial-start action primary with a modelled value, set the signup action to secondary, and let the first-payment import carry the real number.

The usual break is the domain hop. The ad lands on the marketing site, signup happens on an app subdomain or a hosted auth page, and the click ID stays behind in the first domain's URL. Pass gclid, gbraid and wbraid through the signup form as hidden fields and write them to the account row on creation. If a share of accounts still arrive without one, Enhanced Conversions for leads can match the payment upload on the hashed work email captured at signup instead.

A 14-day trial and a 30-day first invoice sit comfortably inside 90 days. Annual contracts closed by a sales rep often do not. Downgrades and refunds in the first cycle can be sent as conversion adjustments rather than left to inflate value; confirm the current adjustment options in your account before relying on them.

Google Ads · SaaS · what breaks

Why Google Ads under-reports for SaaS companies

  1. 01

    Bidding optimizing toward trial signups

    Including the ones that will never pay.

  2. 02

    Paid conversions invisible to the platforms

    They happen with no browser present.

  3. 03

    Channels ranked by signup volume

    Which frequently reverses when you rank by revenue.

  4. 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 · SaaS · the fix

What working looks like — Google Ads · SaaS

  • Paid conversions attributed to the original click

    Weeks later.

  • Trial and paid as separate signals

    Different values, different roles in bidding.

  • Expansion and churn accounted for

    So lifetime value stops being a guess.

Google Ads · SaaS · architecture

How Google Ads and SaaS companies actually connect

  1. 1

    The conversion in SaaS companies

    Signup, activation, trial start, first payment, expansion and churn are six different signals with six different values. Most SaaS setups measure the first and none of the rest.

  2. 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. 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. 4

    Where it gets sent from

    your billing system's record of first successful payment.

  5. 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 · SaaS · events

The conversion map for SaaS companies

Six events across a lifecycle that spans weeks, of which only the first two happen anywhere near a browser.

SignupBrowser-side. Volume for bidding to learn from, not a revenue event.
Activation milestoneServer-side, from your product database. The best early predictor of payment.
Trial startServer-side, with a modelled value rather than the full plan price.
First paymentServer-side, from billing. The conversion that actually matters.
Expansion and churnServer-side. Sent as adjustments so reported value tracks reality.

Google Ads · SaaS · diagnose

Diagnostic order — Google Ads · SaaS

  1. 01

    Count records carrying gclid, gbraid and wbraid

  2. 02

    The click ID never leaves the signup session

    Stored in a cookie instead of on the account, so it's gone by the time payment clears.

  3. 03

    Sales cycles longer than 90 days

    Google's import window won't reach the close. An earlier milestone has to carry the optimization.

  4. 04

    Self-serve and sales-assisted mixed together

    Two different journeys, two different conversion definitions, one reporting mess.

  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 · SaaS · prove

How it gets proven — Google Ads · SaaS

Source of truth

your billing system's record of first successful payment

  • Click ID present on a live account record after signup.
  • First payment confirmed firing a conversion referencing that click.
  • Trial and paid arriving as distinct events with distinct values.
  • Import match rate read rather than assumed.
  • The match rate on the upload, not the success message read directly, not inferred from an upload succeeding.

Google Ads · SaaS · free audit

What we check in the free audit

  • Count records carrying gclid, gbraid and wbraid
  • The click ID never leaves the signup session
  • Sales cycles longer than 90 days
  • Self-serve and sales-assisted mixed together
  • Read the match rate on the upload, not the success message

Checked against

your billing system's record of first successful payment

Get my free conversion tracking audit

Free30 minutesNo obligation

Google Ads · SaaS · when not to buy

When you don't need this — Google Ads · SaaS

  • If Google Ads already reports conversions that reconcile against your billing system's record of first successful payment 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 · SaaS · what we deliver

What gets built — Google Ads · SaaS

  • Click ID captured at signup

    And written permanently to the account record.

  • Billing webhook wired to a server conversion

    First payment, renewal, expansion, cancellation.

  • Per-stage values assigned

    Trial modelled, paid actual.

  • Sales cycle measured against 90 days

    It decides what can be imported at all.

  • 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 record of first successful payment. Miss it and we keep working at no cost.

Get my free conversion tracking audit

From $400 · See packages

FAQ

Google Ads · SaaS questions, answered

Bid on trial starts with a modelled value while paid conversions are too few for Smart Bidding to learn from, and import first payments as the action that reports revenue. Move bidding to paid once that action has steady monthly volume.

Free · 30 min

Get Google Ads reporting what SaaS companies actually earn

Free30 minutesNo obligation