Why stages are the events
For lead generation, the form submit is the least valuable event you can send. It tells the platform who fills forms, and the platform will happily find more of them. What you want is more people who become customers, and the only place that is recorded is your pipeline.
DealOracle treats each pipeline stage change as a potential conversion event. You decide which stages matter, which platform event each maps to, and what value to attach. From then on every stage change for every lead is sent server-side with the lead's click ID and hashed contact details.
A standard mapping
Most lead gen pipelines fit this shape. Adjust the names to your CRM.
| Pipeline stage | Meta event | Google Ads action | TikTok event | Value |
|---|---|---|---|---|
| New lead (form submitted) | Lead | Lead form submit | SubmitForm | none |
| Contacted | Contact | (skip) | Contact | none |
| Qualified | Lead (custom: Qualified) | Qualified lead | Lead | estimated |
| Appointment booked | Schedule | Appointment | Schedule | estimated |
| Won | Purchase | Converted lead | CompletePayment | deal value |
| Lost | (nothing) | (nothing) | (nothing) |
Two rules of thumb:
- Send at least two events: the top of the funnel and the outcome. The platforms need the first for volume and the second for quality.
- Never send Lost as a conversion. The platforms cannot learn from a negative.
Setting it up in DealOracle
- Connect the CRM (HubSpot, GoHighLevel, Salesforce, or the ingestion webhook).
- Open Event Streams and pick the CRM pipeline. DealOracle lists its stages.
- For each stage that should fire, pick the platform event per connected ad account and an optional value source: a fixed amount, or the deal's value field.
- Save. From now on stage changes are sent within seconds.
- Verify the first event in each platform's test tool: Meta Events Manager Test Events, Google Ads conversion diagnostics, TikTok Events Manager.
Crystal, the in-app assistant, can look at your pipeline history and propose a mapping based on which stages actually precede revenue.
Values and currencies
Attach a value to the outcome event whenever you can. Even an estimate (average deal size for a Qualified lead, actual amount for Won) lets Google use value-based bidding and Meta optimize for value.
DealOracle sends values in the currency configured for the account and converts for reporting in Oracle, so a UK client sees pounds and the platform receives what it expects. Lead value (the form intake estimate) and deal spread (the CRM's closed-deal value) are separate fields; the outcome event uses the closed value when the CRM provides it.
Timing
Events are sent the moment the stage changes. Platforms attribute inside their own windows (Click IDs lists them), so a deal that closes 45 days after the click may fall outside Meta's window while still inside Google's. That is fine: the event still improves match data and reporting, and the platforms that can attribute it will.
If you backfill history (for example after connecting a CRM with months of closed deals), DealOracle sends the events with their original timestamps where the platform accepts them, and skips those outside the platform's accepted range.
