CRM
Salesforce integration for digital marketing agencies
For B2B and considered-purchase clients, the conversion that matters happens in Salesforce weeks after the click — a qualified lead, an opportunity, a closed-won deal. Optimising campaigns on form fills instead of pipeline is the single most expensive measurement mistake in B2B marketing, and closing that loop means click identifiers surviving from the ad platform into the CRM and back out as offline conversion imports. That chain crosses a system the agency usually does not administer, which is exactly why it needs to be documented: when the loop breaks, the ad platform keeps bidding confidently on the wrong signal.
How Phloz models Salesforce
Every Salesforce concept that matters for digital marketing agency operations is a typed object in the tracking map. Health state per node, audit cadence, and graph relationships to every other tracking-system node it touches — so a broken tag or misconfigured property is findable in seconds across your full book of clients.
- Salesforce as a typed CRM-system node: which org, the lead/opportunity fields the measurement depends on, and where click identifiers are stored
- Edges to the ad accounts that receive its offline conversions — so the closed-loop path (click ID captured → stored on the lead → imported back as a conversion) is a visible chain rather than tribal knowledge
- Health + verification cadence on the loop itself: agencies set a monthly re-check, and a stale last-verified date surfaces in the audit and the weekly digest
- Cross-client view of which clients run closed-loop reporting, and which are still optimising on form fills
Common Salesforce configuration gotchas
The configuration mistakes agencies most often make with Salesforce, surfaced here as a checklist agencies can run at every client onboarding. Honest, useful, not gated behind a sales pitch — these are real and you should audit for them regardless of whether you use Phloz.
- The click identifier never reaching the CRM: offline conversion imports match on the ad platform's click ID (GCLID, and its equivalents elsewhere), which has to be captured on the landing page, carried through the form, and written to a custom field on the lead. If any hop drops it — a form rebuild, a hidden field renamed, a redirect stripping query parameters — imports silently fail to match and the loop looks fine while feeding nothing.
- Import windows expiring: ad platforms only accept offline conversions within a bounded window after the click. Long B2B sales cycles routinely exceed it, so deals close outside the window and never make it back. Decide which mid-funnel stage (qualified lead, opportunity created) is imported as the optimisation signal, rather than assuming closed-won will fit.
- Sandbox and duplicate records distorting the import: test records from a sandbox refresh, or duplicate leads created by a re-submitted form, get imported as real conversions and quietly inflate the numbers the bidding algorithm trusts. Filter by record type and de-duplicate before upload, and confirm what was actually accepted rather than what was sent.
At launch (V1)
Salesforce appears as a typed CRM-system node: the org and object model that matters for measurement, the lead-source fields the agency depends on, the import path back to ad platforms, and health status — linked to the ad accounts whose offline conversions it feeds.
Coming (V2)
Verify offline-conversion import health directly — whether uploads are landing and matching — so a broken import surfaces in the audit instead of in a quarter of misinformed bidding.
Why we built the integration this way
Most agency CRMs treat third-party tools as text fields: "GA4 Property ID" goes in a custom column on the client record. That works at one or two clients and breaks at five. With every Salesforceobject as a typed tracking node, the agency can answer questions like "which clients have a misconfigured Salesforcesetup?" or "which Salesforceconfigurations changed last quarter?" from a single graph query.
The V1 surface is intentionally manual — agencies enter the configuration at onboarding rather than auto-importing. This forces explicit verification at the exact moment the agency takes over the client's tracking, catching most of the commonGotchas listed above before they become production issues. V2 will add API-based sync where the underlying platform supports it; we won't add sync where the underlying API doesn't expose the right data.
When to use this in your client onboarding flow
The standard pattern for digital marketing agencies running Phloz: at every new client onboarding (see the client onboarding audit use case), spend 30 minutes documenting the client's Salesforceconfiguration as Phloz nodes — pixel IDs, tracking-code installations, conversion-action setup, the relationships to other systems. Verify each one fires by triggering a test event. Set the "verified at" timestamp on each node. Schedule a quarterly verification task on the agency engineer who owns tracking.
The 30 minutes at onboarding catches 90 percent of the tracking issues that would otherwise surface during the first month of campaign optimisation — when finding them would mean a refund conversation. See the broader tracking infrastructure map use case for the agency-wide pattern.
Frequently asked questions
The three questions agencies ask most often about Phloz's Salesforce integration. Honest answers — same data we'd give a friend evaluating the integration.
- What is closed-loop reporting and why does it need the CRM?
- It is connecting the ad click to what the lead eventually became — qualified, opportunity, closed-won — so campaigns can be optimised on revenue rather than form fills. It needs the CRM because that is where the outcome lives: the click identifier must be captured on the landing page, stored on the lead record, and sent back to the ad platform as an offline conversion. Every one of those hops is a place the chain can break silently, which is why it belongs on a documented map.
- Does Phloz replace Salesforce?
- No, and the distinction matters. Salesforce is the client's sales CRM, tracking their customers and pipeline. Phloz is the agency's operations platform, tracking the agency's clients and the delivery work. For a B2B client, Phloz models the Salesforce org as part of the measurement chain — which fields carry the click identifier, which ad accounts receive the imports, whether the loop is healthy — without touching the client's CRM data.
- Does Phloz connect to a client's Salesforce org?
- Not today. Phloz models the setup — the fields, the loop, the dependencies, the verification cadence — rather than pulling records from the client's CRM. That boundary is deliberate: modelling the measurement chain is what catches a broken loop, and it avoids putting the agency in the middle of the client's customer data.
Other integrations
Other crm and adjacent tools Phloz integrates with.
- HubSpotCRM
- Zoho CRMCRM
- Google Analytics 4Analytics
- Google Tag ManagerTag management
- Google AdsPaid
- Meta AdsPaid
- TikTok AdsPaid
- Microsoft AdsPaid
- ShopifyCommerce
- KlaviyoEmail
- LinkedIn AdsPaid
- Call trackingCall tracking
- Google Search ConsoleSEO
- Google Business ProfileLocal
- Meta Conversions APIServer-side
- Server-side GTMServer-side
- WooCommerceCommerce
- MailchimpEmail
- SegmentServer-side
- All integrations
14 days free · No credit card · Starter tier free forever