Close the loop on Google Ads
Configure paid-click tags, sync Google Ads spend, and verify offline conversion uploads.
Connect Google Ads spend to Tracking’s attributed revenue, then optionally upload conversions to Google. Start by checking the account connection, installing the URL suffix, and syncing spend before enabling conversion feedback.
Before you start: link a Google Ads account to the product through the platform. Have access to that account’s tracking settings. Conversion feedback also needs recorded events and suitable conversion actions in Google.
Work in the four Google Ads tabs: Campaigns, Settings, Reports, and Conversions.
Check the connection first
- Check the connection status. The account link is configured once at the platform level, and each Tracking tab reflects its state.
State | What it means |
|---|---|
connected | The account is linked and named |
account selection pending | The link exists but no account has been chosen yet |
re-authorization needed | The link has expired and must be granted again |
not connected | There is no link |
A product connects to one Google Ads account. Until its state is connected, spend sync is off and Conversions displays Connect a Google Ads account first.
MCP. tracking_googleads_connection_status.
Set the URL suffix
Copy the exact string from Settings → URL suffix template. Missing or incorrect tags prevent paid clicks from matching campaigns.
- In Google Ads, open
Settings→Account settings→Tracking. - Paste the string into the
Final URL suffixfield and save. That applies it to every campaign. You can also set it per campaign, underSettings→Additional settings→Campaign URL options. - Leave Google’s auto-tagging on.
Verify the suffix: after paid clicks arrive, check for Verified in Settings → Paid tracking health. The suffix carries campaign, ad group, and creative ids. Reports join on utm_campaign; _lt_* fields supply ad dimensions, and _lt_campaign confirms use of the template.
Keep auto-tagging on. The suffix contains neither utm_source nor utm_medium. Google’s gclid identifies the paid click, so the suffix alone is insufficient.
Sync the spend
- Open
Settings→Spend syncafter connecting the account. - Select
Sync now. The first successful run enrolls the account in daily refreshes. - Read the result: it counts campaigns, ad groups, ads, and updated daily rows. If there was no delivery in the window, the result says so.
The initial sync covers about 30 days. Daily refreshes reread roughly 7 days to pick up Google’s later corrections. Existing rows are updated, and renamed campaigns display their new name across history after sync.
Verify the sync: confirm its returned row counts and open Campaigns to see cost alongside attributed revenue.
MCP. tracking_googleads_sync_now.
Imports read campaign, ad group, and ad structure: names, status, campaign channel type, and ad type. Daily performance includes cost, impressions, clicks, Google conversions, and conversion value. Importing does not write to Google.
Google supplies money in micros: 1,000,000 micros equals one account-currency unit, so 12,340,000 means 12.34. Tracking converts for display. Each account’s currency remains separate; accounts are never summed across currencies.
Read the campaigns
Open the default Campaigns tab to compare spend and attributed revenue for your selected range and model.
Google supplies cost, impressions, and clicks. Tracking calculates revenue, conversions, ROAS (revenue divided by spend), and CPA (spend divided by conversions). Both ratios are blank without spend. Attribution is at campaign level; ad groups and ads show spend only.
Check the paid-tracking warning and cost-freshness flags before interpreting results. A campaign is flagged if its cost is more than a day old.
The Reports tab offers ROAS and You vs Google views; see Attribution reports. Revenue with a utm_campaign that matches no account campaign is shown separately.
MCP. tracking_googleads_roas_report and tracking_googleads_us_vs_platform.
Check that your tags arrive
Open Settings → Paid tracking health to check whether URL labels reached Tracking. It uses approximately 30 days of stored events without requesting data from Google.
The check looks for _lt_campaign on Google paid landings: those carrying gclid, or a paid utm_medium with a Google-related utm_source.
Panel | What it means |
|---|---|
Verified | Every paid click carried your labels |
Broken | Some did not. It shows how many out of how many, the percentage, and a sample of the offending landing URLs so you can find the campaign missing the suffix |
No data | No Google paid clicks have arrived in the window yet |
At very high click volumes, the panel marks its counts as a lower bound.
Cookieless paid clicks are included in the totals and identified in a separate note. Do not add the note’s count again. It shows the paid traffic that cannot be linked to a person’s browser history.
MCP. tracking_googleads_tracking_health.
Send conversions back
Enable offline uploads in Conversions only after choosing what Google should learn from. This changes the conversion signals used by your campaigns.
What you configure
Setting | What it does | Default |
|---|---|---|
Master switch | Nothing is uploaded until it is on | Off |
What Google learns from | Fill gaps adds these conversions on top of what your existing pixel counts; Our data only means Google learns from these alone, which suits a freshly created conversion action | Fill gaps |
Match window | How far back a click may be to be matched to a conversion, and the window re-scanned on each run: 14, 30, 60 or 90 days | 90 days |
Rules | Each maps one tracked event name to one conversion action, and says what the conversion is worth. One conversion action per event; an event may not appear in two rules | None |
Enhanced conversions | Also sends the person’s hashed email and phone alongside the click id as extra matching signals. The click id stays the primary key, and a conversion whose person has neither gains nothing — it is added help, not a replacement | Off |
Choose from names already in your catalog and actions read live from the connected Google account. Saving fails with the affected rule named if its event or conversion action no longer exists.
MCP. tracking_googleads_feedback_config_get and tracking_googleads_feedback_config_set; tracking_googleads_conversion_actions lists the actions available in the account.
What a conversion is worth
Choose one value source per rule:
Value source | What it sends | Available for |
|---|---|---|
Dynamic revenue | The person’s net revenue in the subscription’s currency: payments minus refunds | subscription_started only |
Dynamic | The amount carried by that occurrence itself | Events that record an amount, which today means payment |
Fixed | An amount you type, in the connected account’s currency. Zero is allowed and is uploaded as a value-less lead conversion | Events that carry no money, such as a signup |
Tracking converts outgoing values to Google’s micros.
How a click is found
For each conversion, Tracking searches all the person’s known anonymous ids for the most recent gclid in the match window. If none is found, it can use a gclid from the conversion event’s own page URL.
A conversion without a matching click id is not uploaded. The status reports the number excluded for that reason.
Marketing consent comes from the click being uploaded, not the person’s general record or a later conversion. Tracking forwards the click’s granted or denied answer; it makes no consent claim for a site without a banner. See Tracking and consent.
Run it and watch the funnel
- Configure and enable your rules and the master switch.
- Select
Run nowfor an immediate pass. Enabled feedback also runs daily. - Verify the upload: inspect
Upload statusand the correspondingUpload logentries.
Upload status shows how many conversions were considered, matched to a click, and uploaded, with exclusions such as no click id or no value yet. Missing-value conversions remain eligible for a later run. Cumulative uploaded and failed counts appear below.
Use Upload log to inspect each conversion’s time, event, masked click id, action, value, outcome, and failure reason.
Each occurrence is uploaded once per conversion action. Repeating a pass skips prior uploads; Google also deduplicates using the supplied order id.
MCP. tracking_googleads_feedback_run, tracking_googleads_feedback_status and tracking_googleads_feedback_uploads.
Before you turn it on
- Offline conversions are not instant. Google can take hours to reflect them.
- Enabling or changing a conversion action resets the campaign learning phase. Expect a re-learning period.
- Try it on a few campaigns before rolling it out account-wide.
- With
Our data only, Google needs tens of conversions before the signal is usable for optimization.
The configuration page repeats these cautions when you read or save settings.
Next steps
- Read the attribution reports: the model and window that drive every figure here.
- Send revenue from your backend: the money a dynamic-value rule uploads.
- Fix conversions that never arrive: the funnel, the switch and auto-tagging, in order.
- What tracking does with a consent answer: why a declining visitor’s click carries no
gclid. - Trigger a workflow from a tracked event: wait on a spend sync or an upload pass from a workflow.