Offline conversion import
Offline conversion import sends events from your CRM, like a qualified sales meeting or a closed deal, back to Google Ads or LinkedIn Ads. The ad platforms then learn which clicks turned into revenue and bid for more buyers like them.
What is offline conversion import?
Offline conversion import is how you tell an ad platform what happened after the form fill. You send events from your CRM, like "became an SQL" or "closed won", back to Google Ads or LinkedIn Ads, matched to the click or the person that started them.
Let's say you sell security awareness training to IT teams. Your Google Ads campaign gets 120 demo requests a month, and Google thinks every one of them is a success. But sales only qualifies 25, and three become customers. Without offline conversions, Google keeps finding more people like all 120. With them, it learns what the 25 had in common and bids harder on searches and people that look like them.
The match happens through an ID. That's either the click ID the ad platform adds to your landing page URL, like Google's GCLID, or the lead's email, hashed before it's sent.
Why offline conversion import matters for B2B SaaS
B2B sales cycles run for weeks or months, and most of what matters happens in the CRM, far from the ad platform. Google's and LinkedIn's bidding systems can only learn from the conversions you show them, so a form fill is all they know unless you send more.
That's why I'd set it up before touching bids or budgets in any B2B ad account. Here's what it changes:
- Bidding learns from revenue: Smart Bidding and LinkedIn's automated bidding start favoring the searches and audiences that bring SQLs over the cheapest form fills.
- Junk leads get less budget: Campaigns that bring students and job seekers stop looking good inside the platform, because their leads never reach the stages you import.
- Reports match the CRM: Your ad dashboards show cost per SQL and pipeline next to cost per lead, so marketing and sales argue less about which number is right.
- Automated campaigns become safer: Campaign types like Performance Max lean hard on automation. They need deep conversion data to aim at real buyers.
How to set up offline conversion import
The setup touches your forms, your CRM and your ad accounts. Here's my process:
- Capture the IDs on every form: Save the GCLID from Google and the li_fat_id from LinkedIn into hidden form fields, and store them on the contact in your CRM. Collect a work email on every form, since email is the backup match.
- Pick the stages that matter: Choose two or three CRM stages, like SQL, opportunity and closed won. Create each one as its own conversion action in Google Ads and LinkedIn Campaign Manager.
- Give each stage a value: Send a value with each event, like your average deal size times the win rate at that stage. Value-based bidding can then aim at bigger deals instead of more leads.
- Connect the CRM: Google Ads Data Manager has connectors for HubSpot and Salesforce, and LinkedIn's Conversions API connects from Campaign Manager. For new Google setups, Google recommends enhanced conversions for leads, which matches on hashed email.
- Upload every day: Google keeps the GCLID for only 90 days. Daily syncs keep each event inside that window and give bidding fresh data.
- Switch bidding last: Run the imported stage as a secondary conversion for a few weeks and check the numbers. Make it the primary bidding goal once it gets steady volume every month.
An offline conversion import example
A CRM sync for offline conversions is part of our B2B paid ads service. We send SQLs and closed deals from the CRM back to Google and LinkedIn, so the platforms find more buyers like them.
Here's how a conversion setup could look for the hypothetical security training company, with a 60-day sales cycle:
| CRM stage | Conversion action | Value sent | Role in bidding |
|---|---|---|---|
| Demo requested | Form fill (tag on site) | $0 | Secondary, for reports |
| SQL | Offline import | $1,500 | Primary goal |
| Opportunity | Offline import | $4,000 | Secondary at first |
| Closed won | Offline import | First-year contract value | Secondary, for ROAS reports |
The SQL stage is the bidding goal because it happens within a couple of weeks of the click and comes in often enough for the system to learn. Closed won comes in too rarely to steer bidding on its own. Its job is to show real ROAS in your reports.
How to measure offline conversion import
Check the plumbing first, then the results. Here's what I'd track:
- Match rate: Google Ads shows upload diagnostics for each offline conversion action. If many rows fail to match, look for missing click IDs or emails that weren't normalized before hashing.
- Cost per SQL in both places: Compare cost per SQL in Google Ads with the same number from your CRM for the same month. They should land close together.
- Share of leads with a click ID: Divide paid leads that have a GCLID or li_fat_id by all paid leads. A low share means your hidden fields break on some forms.
- Pipeline per dollar: Divide pipeline from paid campaigns by ad spend each month. After bidding switches to SQLs, this should rise even if lead volume drops.
Common offline conversion import mistakes
- Only sending closed won: A handful of deals a month is too few for bidding to learn from. Send an earlier stage that happens more often.
- Making every stage primary: If form fills, SQLs and deals all count toward bidding, one buyer gets counted three times. Pick one primary goal per campaign.
- Missing the 90-day window: Deals that take five months to close can't be matched to the GCLID. Use a stage that happens sooner.
- Losing the click ID: Some form tools and redirects drop URL parameters. Test every form after each website change.
- Sending messy data: Emails need to be lowercased and trimmed before they're hashed, or they won't match. Use the platform's connector, which handles this, where you can.
Here's a quick check you can run this week. Pick ten paid leads from last month in your CRM and see how many have a GCLID saved on the contact. If it's fewer than eight, where's the click ID getting lost?
Read more
FAQ
What is an offline conversion in Google Ads?
It's a conversion that happens after the click, away from your website, like a qualified sales call or a signed contract. You record it in your CRM and send it back to Google Ads so the click gets credit.
What's the difference between GCLID import and enhanced conversions for leads?
GCLID import matches each CRM event to the Google click ID you saved from the form. Enhanced conversions for leads matches on the lead's hashed email instead, and Google now recommends it for teams setting up offline conversions for the first time.
How long after the click can you import a conversion?
Google keeps the click ID for 90 days, so a GCLID-based conversion has to arrive within that window. If your deals take longer to close, send an earlier stage like SQL or opportunity as the main conversion.
Does LinkedIn support offline conversions?
Yes. LinkedIn's Conversions API takes events from your CRM, matched on hashed email or LinkedIn's click ID, and you can connect tools like HubSpot or Salesforce from Campaign Manager.


