Salesforce opportunities as Google Ads conversions, by a route that still makes sense

Google’s help still lists Salesforce import articles, some marked legacy. We work out which route suits your org, keep click details alive through lead conversion and send opportunity or custom object values back.

  • Salesforce
  • Google Ads
  • Data Manager API

To send Salesforce data to Google Ads, you store a click identifier or hashed contact details with the lead, carry them through lead conversion onto the opportunity, and send a conversion when that opportunity reaches a stage you care about. The click capture is the easy part. The hard part with Salesforce is choosing the route, because there are several and they’ve aged differently.

Salesforce can model almost anything, which is why two orgs rarely look alike and why a one-size connector struggles. We start by reading yours.

The routes, and how they’ve aged

Google’s Salesforce import. Google’s help still lists Salesforce conversion import articles, and some of them are marked legacy. If you have this running and it’s healthy, we wouldn’t rip it out on principle. We’d find out what it’s doing and how long you’d want to depend on it.

Classic offline conversion import. Google describes this as a legacy feature and recommends enhanced conversions for leads instead. Custom uploads through the Google Ads API need a closer look, since uploads of this kind have been blocked there from 15 June 2026 for new or dormant integrations, while tokens that stayed active kept legacy access for now. We could find no published end date for that, so an existing job is living on borrowed time, and our Data Manager API migration service exists to move it.

Data Manager API. Google’s stated replacement, and where a new build should go. It uses OAuth with its own scope instead of the developer-token set-up, and your org can reach it through an integration layer that we build and you own.

Automation tools. Fine for simple objects and small volumes, and Google names Zapier as a route. They get awkward with related records, which Salesforce is full of.

Which Salesforce object should fire the conversion?

Object What it tells Google Ads Watch out for
Lead An enquiry was qualified Status values differ by team, and converted leads stop updating
Opportunity Real pipeline and real money Amount may be a forecast until Closed Won
Opportunity products What was sold, and for how much Products can change after the deal closes
Custom object Whatever your business runs on Needs a key, a status and a value agreed first
Contract or order What was finally signed Often raised by another team, sometimes much later

Picking the object is half the decision, and the other half is which stage counts. We’d normally send Closed Won as the real sale and one earlier stage, such as a sales-accepted lead, for volume. Stage names vary between sales teams, so we map them per record type, and anything that moves backwards gets corrected with an adjustment instead of being left in the data.

The trap in lead conversion

Salesforce moves data from a lead to the contact, account and opportunity when the lead converts, and custom fields only make that journey if someone has mapped them. A GCLID field that isn’t mapped survives right up to the moment the deal becomes valuable and then vanishes, which shows a certain sense of timing. We map it, then test it with a real converted lead in a sandbox.

Web-to-Lead forms, Account Engagement (formerly Pardot), person accounts and partner portals all bring their own routes into the org. Each needs checking, because a click ID captured on one form and missed on another produces a match rate nobody can explain.

Custom objects: yes, if they have three things

Insurers have policies, lenders have applications and training companies have enrolments. If yours is a custom object, it can drive a conversion as long as it has a stable ID, a status that changes when something real happens, and a value someone trusts. We also need a path back to the person who enquired, usually through a lookup to the contact or opportunity holding the click details.

How a Salesforce record gets tied to an ad at all

Google needs a link between the sale and the original click. That link is a GCLID (or gbraid and wbraid on some Apple traffic) captured with the enquiry, or a hashed email or phone number that Google can match to someone who clicked. A deal that began at a trade stand, through a partner or via a phone call nothing recorded has no ad click behind it, so those opportunities should stay out of the upload.

Where to start

Most Salesforce work begins with a Tracking Audit, from £395 ex VAT, as the existing route usually needs examining before anyone quotes for a new one. A sync then starts from £2,500 ex VAT, confirmed as a fixed quote once we’ve seen the objects involved, and all of it sits in your own Salesforce org and Google Ads account. We’re developers, so a sandbox and a change set won’t scare anyone.

Common questions

Straight answers to what people ask before they get in touch.

  • Is Google’s Salesforce conversion import still supported?

    Google’s help still lists Salesforce conversion import articles, with some marked legacy. We wouldn’t build anything new on a legacy route, but if yours is working we’d check what it sends and agree when it makes sense to move. That way you’re not replacing something healthy just to be tidy.

  • Will our Salesforce admin need to change the org?

    Usually a small amount. Expect a few custom fields for click identifiers, field mapping for lead conversion, and an integration user with limited permissions. We do this in a sandbox first and hand your admin clear notes, so nothing arrives in production as a surprise.

  • Can you send opportunity amounts in several currencies?

    Each conversion can carry its own currency code, so multi-currency orgs are workable. We agree whether to send the amount as entered, a converted figure or a margin calculated elsewhere, and whether opportunities still in negotiation should count at all, which they generally shouldn’t.

  • How do you stop a reopened opportunity counting twice?

    The opportunity ID, or a key built from it and the stage, goes with each conversion so the same event can’t be sent as a new one. If an amount changes after closing, we can send a conversion adjustment so Google Ads sees the corrected figure instead of a second sale.

  • Do we need Apex for this?

    Not always. Depending on your org and edition, the trigger can be a Flow, a platform event or a scheduled job reading changed records from outside Salesforce. We pick the option your admin will be comfortable maintaining, and keep Google-specific code outside the org where that makes sense.