Open Tracked/Integrations/Salesforce connector

Salesforce connector

Salesforce holds the whole journey from lead to opportunity. A Flow can send each change to your server, which forwards it to the ad platforms.

5 min read · Updated October 26, 2026

Salesforce lead or opportunityFlow calls your serverMeta and Google Ads
In this guide
Key takeaways
  • Store click IDs and hashed contact data on the Lead via web-to-lead hidden fields or your integration.
  • Use a record-triggered Flow (or Apex) to call a webhook when status or stage changes.
  • Map Lead status and Opportunity stage to conversions, and send each once.

Salesforce is the CRM of choice for many B2B companies, and its flexibility is both the benefit and the problem: there is no single way to do this. This page lays out the common, lowest-risk route and the traps. It follows the pattern in CRM data to Meta with webhooks. Your Salesforce admin should review the details, because every org has its own objects and rules.

Fields to add

Field (on Lead and Contact)Holds
Google click IDgclid, wbraid, gbraid
Meta click IDfbc
Meta browser IDfbp
Hashed e-mailSHA-256 value
Landing page and campaignURL and UTMs

Fill these from the web-to-lead form with hidden fields, or from the integration that creates leads. When a Lead converts to a Contact and Opportunity, make sure the values are mapped across, or read them from the converted Lead.

Trusted

Brands that grow on cleaner data

Stores and agencies use Open Tracked to see which ads earn the sale.

Calling your server

1

Create a record-triggered Flow

On Lead (status change) and Opportunity (stage change).

2

Add a condition

Run only when the status or stage changed to a value you want to send.

3

Add an HTTP callout or outbound message

Post a JSON body to a path under your tagging subdomain.

4

Include a secret

A header your server container checks.

5

Handle errors

Log failures and retry, or alert someone.

Flow's HTTP callout and external service features depend on your edition and settings, so confirm with your admin what is available. Some teams use Apex or a middleware tool instead.

Mapping stages

SalesforceMeta eventGoogle Ads
Lead status: QualifiedQualifiedLeadQualified lead
Opportunity stage: ProposalProposalOptional
Opportunity stage: Closed WonPurchase with amountSale with value
Ask AI

Ask Ari instead of digging through reports

Ari reads your tracking and ad data and answers in plain words.

Privacy and permissions

  • Send only data you have consent to use for advertising.
  • Hash e-mail and phone before sending.
  • Keep the endpoint secret and rotate the secret regularly.
  • Do not send free-text notes or other personal data.

Common problems

SymptomClick IDs are lost on lead conversion
Likely causeThe values are on the Lead and not mapped to the Contact.
FixMap custom fields in the lead conversion settings.
SymptomThe Flow sends every update
Likely causeNo change condition.
FixCompare prior and current values.
SymptomThe callout fails
Likely causeThe endpoint is not allowed in remote site settings.
FixAdd the endpoint to the allowed list in setup.
SymptomAmounts are not in the right currency
Likely causeMulti-currency orgs.
FixSend the currency code with the amount.
0 of 5 done

A worked example: a software vendor with long sales cycles

A software vendor sells to large companies, and a deal takes months. Its ads on Google and LinkedIn bring form fills. Salesforce tracks Leads and Opportunities, and the sales team records the stage of each. The vendor stores the click IDs on the Lead and maps them to the Contact when the Lead converts. A Flow runs when an Opportunity reaches "Proposal" and when it is Closed Won, and posts to the tagging server with the Opportunity amount. Google Ads and Meta receive the stages with the click IDs, months after the original click. Because the click windows are limited, the vendor also uses hashed e-mail matching for the stages that arrive late.

Long sales cycles are the hardest case. Send an early stage, such as a qualified lead, as soon as it happens, because it arrives inside the window and still carries a strong signal. Treat the later stages as a bonus. A mix of an early, frequent signal and a late, valuable one gives the platforms something to learn from now and something to check against later.

Terms you will see

Lead
A person or company that has shown interest, before qualification.
Opportunity
A qualified deal in Salesforce.
Flow
Salesforce's automation builder.
Outbound message
A Salesforce feature that sends data to an external address when a record changes.
Closed Won
The stage that means the deal was won.

Ask your Salesforce admin to monitor the Flow. Flows can fail when a field is removed, a permission changes or an endpoint is no longer allowed. Make sure failures raise an alert rather than disappearing into a log nobody reads. The most expensive failures in a long sales cycle are the ones you discover months later, when the stages that should have been sent are no longer inside the platform's window.

Data in, clean out

Raw events in. Clean events out.

Open Tracked collects each event on your own domain, removes the noise and sends what is left to Meta, Google Ads, TikTok.

Frequently asked questions

Can Salesforce send conversions to Meta and Google Ads?

Yes, through Flow, Apex or middleware calling a webhook or an API.

Where do I store click IDs?

In custom fields on the Lead, carried to the Contact and Opportunity.

Which stage should I send?

Qualified lead and closed won are common, with the opportunity amount as the value.

Do I need a developer?

Often a Salesforce admin can build the Flow. Apex needs a developer.

Is there a ready-made Open Tracked connector?

Not as a packaged app. You connect Salesforce through webhooks to your tagging server.

Do I need spreadsheets to read my results?

No. Once tracking is live, the Open Tracked analytics shows spend, revenue, ROAS and profit, and you can ask Ari, the built-in AI assistant, questions about your own numbers in plain words. Ari's allowance depends on your analytics plan.

Is Open Tracked different from Open Track or Open Space Track?

No. Open Tracked is the official name of our server-side tracking platform, and the website is opentracked.io. Many people search for it as Open Track, OpenTrack or Open Space Track. All of them lead to the same product: server-side Google Tag Manager hosting, first-party analytics and a CRM pipeline.

Fix your tracking at the source

Open Tracked hosts your server-side Tag Manager, keeps first-party cookies alive and shows what each ad is really worth.

Open Tracked
Written by

The Open Tracked team

We build Open Tracked: server-side tracking hosting, analytics and the tools around them, for stores that spend on ads. Questions about this guide, or an idea for the next one?

Write to us Read the docs

Was this article helpful?

Comments

Loading comments...

Turn better tracking into better marketing performance

Start free