TRACKING SPECIALIST — BARIS ASA · LONDON
Synctag
Start the check → TRACKING SPECIALIST — BARIS ASA · LONDON

SERVICE FILE · OFFLINE CONVERSION TRACKING · FILED BY BARIS ASA, LONDON · REVIEWED

Google Ads offline conversion tracking consultant, London, UK.

Baris Asa is a London tracking specialist who fixes Google Ads offline conversion tracking for UK brands whose sales close by phone, in a showroom or in a CRM, and for the agencies behind them. The fault I check first: the click ID (the gclid Google adds to the ad's landing URL) never reaches the CRM, and no customer email is passed to Google as a backup match. Google Ads can't match the deal. The fix starts with one test lead, followed from click to CRM to Google Ads.

An online shop with phone, showroom or trade orders has offline sales too.

How it should be set · For agencies

Also called: offline conversion upload, GCLID import, importing CRM conversions into Google Ads.

Phone, showroom and CRM sales Google Ads · enhanced conversions for leads HubSpot · Salesforce · other CRMs Direct or white-label [email protected]
THE SHORT ANSWER

Who to hire to fix Google Ads offline conversion tracking

Hire a measurement specialist who passes three tests. They prove the fix with one test lead followed from click to form to CRM to Google Ads. They keep every click ID (gclid, wbraid, gbraid) and pass a hashed email as backup. And they set one primary action per outcome, so a deal isn't counted twice (F-104). I'm Baris Asa, a London tracking consultant, measurement only, and those are the tests I hold myself to.

Three kinds of help, and when each is enough:

Quickest check, two numbers for last month. One: deals closed in the CRM from Google Ads leads (your CRM admin has it). Two: conversions on the imported action in Google Ads (Goals › Conversions › Summary, the action whose source is an import or Data Manager). No imported action means nothing is being sent back. A CRM that can't say which deals came from Google Ads probably isn't storing the click ID.

Reading them: imported close to closed is fine, since not every lead came from a click Google can still match. Imported near zero, or flat since a set date: a fault. Anywhere between and nobody can say why: email me both. The example below shows one. Email me the two numbers.

Google Ads offline conversions not showing: the faults I fix

  • Offline conversions not showing in Google Ads. The deals in the CRM have no click ID. Either the form has no hidden field to keep it, or it was lost before the form: auto-tagging off, or a redirect that drops it (F-204). Doc ↗
  • Only some deals match. Some iPhone clicks arrive with a wbraid or gbraid (Google's stand-ins for a gclid), and a form that keeps only the gclid drops them. The form should keep all three, and pass the customer's email to Google as a backup match (hashed with SHA-256, so Google can match it without reading it). Doc ↗
  • Uploads rejected. Google Ads lists the upload as failed. Usually the conversion name doesn't match the action exactly, or the conversion time is before the click or has no time zone offset. A click older than the action's click-through window comes back as EXPIRED_EVENT, and a lead no click can be found for as CLICK_NOT_FOUND. Doc ↗
  • Uploaded, but nothing new in the reports. Give it time first. Through the API, imported numbers take up to three hours to appear, longer outside last-click attribution. With a file import, reports take 24 to 48 hours to fill, and a conversion within a day of its click may not be recorded yet. Doc ↗
  • Enhanced conversions for leads says "Needs attention". That's the status. The reason is in the alert beside it, such as "Tag is missing user-provided data", "Tag not firing on your website forms", "No attempted imports" or "No user-provided data matches". For the last one, check the data was normalised before hashing: spaces trimmed, lower case, phone in E.164 (+44...), dots removed before the domain in Gmail addresses. For the first two, check the form's selector, and forms signed-in customers submit without typing an email (F-402). Doc ↗
  • Leads counted twice. The online form conversion and the imported qualified lead are both primary (the conversions Google reports and bids on) in the goal the campaign bids on, so one lead counts twice. Make the imported stage primary and the form fill secondary; if the campaign bids on a custom goal, take the form action out of that goal (F-104). Doc ↗
  • Lost deals still counted. Nobody sends adjustments. An adjustment can remove a lost sale or change its value. Send it at least 24 hours after the original conversion; bidding reads it within 7 days of the conversion first being recorded, and Google accepts it for 54 days. Doc ↗
  • The upload script stopped working. Check the error first. If a new or dormant developer token gets CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE, this is the block: Google Ads API uploads now fail with CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE for developer tokens that sent no offline uploads between 17 December 2025 and 15 June 2026. Google is moving all offline conversion and enhanced conversions for leads uploads to the Data Manager API, so a script that still works should move too. Doc ↗ Google's note on the move: Doc ↗

The coded ones are on record in the fault index, with how they're found and fixed.

Example: closed deals with no click ID (illustrative numbers, not a client)

  • The CRM marks 120 deals as Google Ads leads. 71 carry a gclid. The other 49 have an empty field: the form kept only the gclid. One likely cause is iPhone clicks carrying a wbraid or gbraid; the rest point to the click ID being lost before the form (F-204). With no email sent either, Google Ads can match at most 71.
  • The fix: the form keeps wbraid and gbraid too and sends a hashed email for leads without a gclid, and the upload moves to Data Manager. One lead is followed to Google Ads before anyone reads the new number. How a lost click ID is traced: F-204.
FIT

Is this the help you need?

Probably, if

  • Google Ads bids on form fills, and the sales team says half of them never buy;
  • an offline import exists and records almost nothing, or stopped on a set date;
  • enhanced conversions for leads is on and Google still says it needs attention (F-402);
  • phone, showroom or trade orders make up a real share of sales and Google Ads never sees them.

Probably not, if

  • every sale happens on the website: that's Google Ads conversion tracking;
  • GA4 sales aren't importing into Google Ads: that's a GA4 link fault (F-403), not an offline import;
  • you want the whole set-up checked, Meta and consent included: a tracking audit.
BEFORE YOU HIRE

Questions to ask any offline conversion tracking consultant

  1. 01 How will you prove it?

    You want one test lead followed from the form to the CRM to the upload, then seen in Google Ads. A green upload screen shows the file was read. It doesn't show the deal matched a click.

  2. 02 What happens to iPhone traffic?

    Some iPhone clicks carry a wbraid or gbraid, not a gclid. The answer should be: keep all three at the form, and send a hashed email for leads with no click ID.

  3. 03 What happens to the form conversion?

    The answer should name one primary action per outcome, and say what happens to the online lead conversion already in the account (F-104).

THE SET-UP

How an offline conversion import should be set

Five decisions settle what bidding learns from offline sales. This is how I set each one:

DecisionWhat gets setWhy
What Google matches ongclid plus hashed email; else wbraid or gbraid; else hashed email alone (needs the enhanced conversions for leads tag)Sent without a gclid, a wbraid or gbraid makes Google ignore the email, so each lead gets the key it can use.
StagesOne CRM stage per conversion action: qualified lead, then saleI map the stages. Whoever runs bidding picks which one is primary.
ValueThe deal value in the CRM, with its currencyWithout it, a small order and a large contract count the same.
RouteData Manager: a CRM connector where one exists, the Data Manager API where notGoogle calls file-based offline import legacy and recommends Data Manager.
TimingDaily or near it, with adjustments for lost dealsAdjustments go at least 24 hours after the original conversion, and within 7 days if bidding should see them (54 days at most).

Underneath: auto-tagging on, so each click carries an ID, and any redirect passing it to the landing page. The form copies it into a hidden field, and the CRM keeps it with the lead. Container work itself: Google Tag Manager consultant.

Consent: ad_user_data is Google's consent signal for sending user data for advertising. Wire it to the banner, and send it with each uploaded conversion too: Google recommends setting the upload's consent field, or conversions may not be attributable (upload doc, F-402). Banner and tag set-up: Consent Mode v2.

Meta needs the same sales? Meta Conversions API.

WHO DOES THE WORK

Who you'd be working with

I'm Baris Asa. I've spent eight years setting up and fixing tracking for ecommerce brands and the agencies behind them. Measurement only: I don't run or judge your campaigns. The faults I look for are public: 19 documented in the fault index. The ones I check first on an offline import: F-204 (click ID lost), F-402 (enhanced conversions for leads not matching) and F-104 (form and import both primary). I've given five talks on this work, including HeroConf, PPC Live and Search 'n Stuff.

FOR AGENCIES

Offline conversion import for UK agencies

I set up and repair offline imports for UK agencies, named or white-label, inside the client's own Google Ads, GTM and CRM. Agencies bring me in when a client wants bidding on sales, or when an existing import stops matching.

How agency work is arranged and billed: white-label tracking for agencies.

ON RECORD

Questions about offline conversion tracking

What does an offline conversion tracking consultant do?
Gets sales and leads that close away from the website back into Google Ads, matched to the ad click that started them, so bidding learns from sales rather than form fills. I capture the click ID and a hashed email at the form, map CRM stages to conversion actions, set up the import through Data Manager, and add adjustments for lost deals.
How do I choose a consultant to fix Google Ads offline conversion tracking?
Hire a measurement specialist who passes three tests: one test lead followed from the form to the CRM to Google Ads, every click ID (gclid, wbraid, gbraid) kept with a hashed email as backup, and one primary action per outcome so a deal isn't counted twice (F-104). Then ask to see how they'd prove it on your account before any work starts.
Consultant, agency or freelancer: who should do this?
Your PPC agency runs the campaigns. Offline import is a measurement job between the website, the CRM and Google Ads, and measurement is all I do. I'm a freelance consultant and I do the work myself, for brands directly or alongside their agencies.
GCLID import or enhanced conversions for leads: which one?
Google calls file-based click import legacy, recommends Data Manager, and describes enhanced conversions for leads as the upgraded offline import: it adds a hashed email (or phone) captured at the form. I set them up together: the click ID where it exists, the email where it doesn't.
Which CRM stage should Google Ads bid on?
My recommendation: the latest stage that still happens often enough for bidding to learn from, with a value. Each stage gets its own action. Which one is primary is your call or your agency's.
Do you work with agencies, inside our clients' accounts?
Yes, for UK agencies, named or white-label, inside the client's own Google Ads, GTM and CRM. Campaigns and bidding stay with you. Terms: synctag.co.uk/white-label.
Why do Google Ads API offline uploads fail with CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE?
Since 15 June 2026 the Google Ads API refuses offline conversion uploads from developer tokens that sent none between 17 December 2025 and 15 June 2026. Google is moving these uploads to the Data Manager API. The fix is to move the upload to Data Manager (a CRM connector, or the Data Manager API) and test one lead through it.
What access is needed?
Admin access to Google Ads, or an admin on hand to link Data Manager and accept the customer data terms. Publish access to GTM, and a CRM user who can see deal stages, values and stored click IDs. Plus someone who can submit a test lead and move it to closed.
How is offline conversion tracking work priced?
There is no published rate card. Brands get a quote after a short scoping call, fixed once agreed. Agencies: rate on request, see synctag.co.uk/white-label. What moves the number: which CRM it is and whether Data Manager has a connector for it, how many forms and stages there are, and whether click IDs are already stored.

Sources, read 4 Nov 2026: Google Ads: about offline conversion imports · Google Ads: import conversions from ad clicks (legacy) · Google Ads: about enhanced conversions for leads · Google Ads: about Data Manager · Google Ads: connect HubSpot in Data Manager · Google Ads: set up a Salesforce integration · Google Ads: enhanced conversions for leads diagnostics · Google Ads: conversion adjustments · Google Ads: iOS campaign measurement (wbraid, gbraid) · Google Ads API: upload click conversions (gclid, wbraid, gbraid) · Google Ads: about auto-tagging · Google Ads: primary and secondary conversion actions · Google: consent mode parameters (ad_user_data).

RELATED

Related services

START

Email the two
numbers.

The site and the two numbers from the check above. Which CRM it is, and how uploads run today if you know; if not, say so. I'll tell you where the gap probably is. I reply myself.

Example example.co.uk · HubSpot · 90 deals from Google Ads, 12 imported · uploads by a script, owner unknown

[email protected]

How I work → · LinkedIn ↗