Prerequisites
You need a Salesforce org with API access and a clear lead stage model, a Meta ad account with a pixel or dataset in Events Manager, and a Datahash Signals account. Your Salesforce leads should store email or phone, and ideally the original lead source, so downstream events can match back to the person Meta drove.
Step 1: Connect Salesforce as a source
In Signals, choose the Salesforce connector and authorize with an integration user. Select the Lead and Opportunity objects and the stage changes you want to activate, for example Lead becomes Qualified and Opportunity becomes Closed Won.
Step 2: Connect Meta as a destination
Choose Meta Conversions API for CRM from the destination catalog and authorize with your Business account, selecting the pixel or dataset your lead campaigns optimize against.
Step 3: Map stages to Meta events
Map each stage change to a Meta event: a common pattern is Qualified to the Lead event with a quality flag, and Closed Won to Purchase with the deal value. Map email and phone as match keys; Signals normalizes and SHA-256 hashes them before delivery.
Step 4: Go live
Enable the connection. Stage changes now flow to Meta as they happen in Salesforce, keeping conversions inside Meta’s attribution window.
Step 5: Point optimization at the new events
In Ads Manager, switch your lead campaigns to optimize for the deeper event once it has enough volume. Meta recommends a steady weekly event volume for stable learning, so start with Qualified and graduate to Closed Won as volume allows.
Verify
In Events Manager, confirm the mapped events arrive on the server channel with healthy Event Match Quality. Trigger a test by moving a sandbox lead through the stages and watching it appear in Test Events. Compare weekly event counts against Salesforce reports for the same stage changes.
Troubleshooting
If events arrive but match poorly, check identifier hygiene in Salesforce; sales-entered phone numbers without country codes are the usual cause, and Signals normalization fixes most formats but cannot invent missing digits. If stage changes arrive late, confirm the connector is on real-time events rather than a long polling interval. If campaign results dip right after switching optimization events, give the ad sets a full learning phase before judging.