Server-side tracking for Salesforce
Salesforce is a strong server-side source once the plumbing is right: fire on stage change from a flow or Apex trigger, referencing the identifier stored on the Opportunity. The build is routine. The precondition — identifier coverage on Opportunities, not just Leads — is what actually decides whether it works.
Free30 minutesNo obligation
Salesforce server-side · what breaks
What goes wrong on Salesforce
- 01
Lead conversion drops unmapped fields
The value is on Lead, the Opportunity has nothing, nothing errors. The single most common Salesforce tracking fault.
- 02
Cycles longer than the import window
Enterprise deals routinely close beyond it, so closed-won can't be imported at all.
- 03
Web-to-Lead posting without identifiers
The standard form posts what it's given, and by default that's no click ID.
- 04
Amount changing after close
Upsells and adjustments move the number after the conversion was reported.
Salesforce server-side · the fix
What changes — Salesforce server-side
Identifiers surviving lead conversion
Mapped explicitly onto Contact and Opportunity.
A bidable milestone inside the window
Qualified, rather than a close nobody can import.
Real amounts fed back
Where the cycle allows.
Salesforce server-side · architecture
What Salesforce exposes to a server container
Excellent outcome data, one notorious plumbing failure.
- 1
Click ID captured on landing
Written into the Web-to-Lead form as hidden fields.
- 2
Fields on all three objects
Lead, Contact, Opportunity — with conversion mapping configured.
- 3
Flow-triggered upload on stage change
Automatic, not a manual export.
- 4
Opportunity ID as the deduplication key
Stable and unique.
- 5
First touch and last touch both stored
So the attribution choice is deliberate rather than whichever wrote last.
Salesforce server-side · diagnose
Where Salesforce tracking breaks, in diagnostic order
Each check rules out a class of cause, so by the last one there is usually a single explanation standing.
- 01
Measure the share of Opportunities with a click ID
Not Leads. Opportunities.
- 02
Convert a test lead and check the Opportunity
The classic failure reproduces in two minutes.
- 03
Check conversion field mapping
It's almost never configured.
- 04
Measure median days from click to close
Against the import window.
- 05
Read the match rate after uploading
Not the success message.
Salesforce server-side · prove
The QA evidence — Salesforce server-side
Run on Salesforce specifically, on a live conversion rather than in preview mode.
Source of truth
your Salesforce opportunity records
- Click ID present on a live Opportunity after a full lead-conversion test.
- All four parameters mapped across Lead, Contact and Opportunity.
- Flow confirmed firing on stage change.
- Uploads confirmed by match rate rather than a success message.
- Opportunity counts reconciled against Salesforce for a closed quarter.
- Reconciled over a fully closed window, matched per record rather than on totals.
- Re-checked 30 days later, and after any platform update.
Salesforce server-side · free audit
What we check in the free audit
- Measure the share of Opportunities with a click ID
- Convert a test lead and check the Opportunity
- Check conversion field mapping
- Measure median days from click to close
- Read the match rate after uploading
Checked against
your Salesforce opportunity records
Free30 minutesNo obligation
Salesforce server-side · when not to buy
When you don't need this on Salesforce
Worth reading before you buy anything, from us or anyone.
- If your Opportunities already carry click IDs and outcomes reach your ad platforms, this is done.
- Converting one test lead and checking whether the field survived takes two minutes and tells you whether you have the classic problem.
- If your median cycle exceeds the import window, no build makes closed-won bidable. Optimize on a qualified stage and say so plainly to whoever asks.
- Salesforce's own ads integrations cover part of this. Check what's already configured before building a parallel path.
Salesforce server-side · what we deliver
What the server-side build gives you on Salesforce
Container on your own subdomain
Your domain, your certificate, hosting in an account you control.
Money events from Salesforce opportunities
A flow or Apex trigger on Opportunity stage change, referencing the identifier stored on the record.
Deduplicated at every destination
On a shared event ID, verified before any existing path is removed.
Consent enforced before dispatch
A denied destination receives nothing, verified by capture rather than configuration.
Written guarantee
95%+ tracking accuracy
Measured against your Salesforce opportunity records. Miss it and we keep working at no cost.
Pricing
Pick the package that fits your ad spend
Browser-side starter
$400One-time fee · lifetime ownership
Repairs and verifies the browser-side setup you already have, on a live conversion. Honest about its ceiling on this platform.
- Root cause fixed, not worked around
- Verified on a live conversion
- Reconciled against your own records
- Written handover
1st-party server-side
Recommended$800One-time fee · most popular
Money events sent from your own records through a first-party container on your subdomain, so the browser can no longer lose them.
- First-party server container on your own subdomain
- Money events from your records, not the browser
- Deduplicated on a shared event ID at every destination
- First-party cookies beyond Safari's 7-day cap
- 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Full 1st-party stack
$1,800One-time fee · lifetime ownership
Every paid channel server-side plus the offline loop, with monitoring so the next break surfaces in days.
- Everything in 1st-party server-side
- Pinterest, Snapchat, Reddit and LinkedIn CAPI
- CRM and offline conversion loop
- Refunds and cancellations corrected wherever each platform allows it
- Monitoring on every destination
FAQ
Salesforce server-side questions, answered
A flow or Apex trigger on Opportunity stage change. Automatic, and it beats a manual export nobody runs.
The Opportunity ID — stable, unique, available to any flow action.
For outcomes, yes. The weakness is field plumbing, not Salesforce itself.
Often not — a flow can do it. Apex is for cases a flow can't express.
Free · 30 min
Move Salesforce events off the browser
Free30 minutesNo obligation
