The Lead-to-Close Gap

How to map your CRM pipeline stages to the conversion events each ad platform understands, with values, so the platforms optimize toward closed deals.

Table of contents

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 stageMeta eventGoogle Ads actionTikTok eventValue
New lead (form submitted)LeadLead form submitSubmitFormnone
ContactedContact(skip)Contactnone
QualifiedLead (custom: Qualified)Qualified leadLeadestimated
Appointment bookedScheduleAppointmentScheduleestimated
WonPurchaseConverted leadCompletePaymentdeal 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

  1. Connect the CRM (HubSpot, GoHighLevel, Salesforce, or the ingestion webhook).
  2. Open Event Streams and pick the CRM pipeline. DealOracle lists its stages.
  3. 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.
  4. Save. From now on stage changes are sent within seconds.
  5. 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.