HubSpot to Google Ads and Meta: should you send lifecycle stage or deal stage?
Short answer
Lifecycle stage for person-level sales, deal stage for account sales with value. Send each stage once, with the click ID, early enough for each platform's window.
Send the one that matches how your business decides a lead is real, and make sure it changes once and in one direction. Lifecycle stage describes the person. Deal stage describes the opportunity. Which is better depends on whether you sell to people or to accounts, and how clean each field is in your setup.
Lifecycle stage moves a contact through marketing qualified, sales qualified, opportunity and customer. It is good when your sales are one person, one purchase, and the contact is the unit you care about. It is simple to map, and it often exists before a deal is created.
Deal stage tracks an opportunity through your pipeline, with an amount and a close date. It is better for B2B, where several people sit on one deal and the value belongs to the deal, not the contact. It lets you send value, and you can send intermediate stages such as demo held or proposal sent.
Think about duplicates. A contact can have several deals, and a deal can move back and forth. If you trigger on every change, you can send the same sale twice. Build the event ID from the deal ID and the stage name, and send each stage once.
Think about the click ID. Google's click ID and Meta's browser identifiers are captured on the contact when the form is submitted. If you send from the deal, copy the click ID onto the deal or look it up from the associated contact when the event is built.
Think about timing. Platforms accept events only within a window after the click or the event. A stage that arrives late is useless, so choose stages that happen early enough, and send them promptly.
Pick a small number. For many accounts, sending the first qualified stage and the closed-won stage is enough. More stages add maintenance without much extra signal.
A made-up example, invented for illustration: a software company sends 'sales qualified' from lifecycle stage as the main signal and 'closed won' from the deal with the real amount. The first gives volume for learning and the second ties spend to revenue.
DataCops takes HubSpot stages through its private webhook, matched by click ID or hashed email and phone, counted once, and sends them to Meta, Google Ads, TikTok and LinkedIn, with a delivery log. It does not replace your choice of what a qualified lead is.
Do you sell to individuals or to accounts with several contacts?
DataCops in short
For this question: DataCops takes HubSpot stages through its private webhook, matched by click ID or hashed email and phone and counted once, and sends them to four ad platforms with a delivery log.
DataCops is a tool that makes the ads learn from real sales: it sends booked, showed, won and paid stages from your CRM back to your ad platforms, gives every visit a bot verdict with a Real people only switch per platform, warms up new campaigns with your existing customers, and logs every send. It is not an attribution report.
How DataCops does it
- The sale after the form. HighLevel natively (lead, booked, showed, won with value, paid; cancelled, no-show and lost are never sent), any other CRM through a private webhook, matched to the click by click ID or hashed email and phone.
- The click is kept on the server. Click IDs are stored for up to 90 days, so a deal that closes weeks later still finds its click.
- Real people only. Every visit gets a bot verdict against 360+ billion IPs and 350+ monitoring points, with a Real people only switch per ad platform, off by default. CRM events carry no bot flag.
- Counted once, logged every time. Pixel and server events share an event ID, and a delivery log shows each send as sent, held, skipped or failed, with the reason.
- One script, one DNS record. Collection runs on your own domain; with DNS on Cloudflare, the free Worker reads the click at the edge before the page loads.
Best for: ad-funded businesses whose sales close in a CRM or on a call: clinics, home services, agencies, B2B and lead gen.
Ads Warmup: tell the ads who pays
Ads Warmup, DataCops' flagship feature, sends customers you already have to Meta, Google Ads and TikTok before a new campaign spends: upload a CSV (only email is required, up to 20,000 rows), see a 0 to 10 match score per person, pick the event, and send. Rows are dated when you send, and Google Ads credits only people who clicked a Google ad. Preview is free; sending needs a paid plan. Check your own consent basis for the list first. See Ads Warmup.
Ways to do this job
| Option | Best for |
|---|---|
| DataCops | CRM stages to Meta and Google Ads, with a bot verdict and a delivery log |
| Zapier or Make | One simple CRM-to-ad flow you build and maintain |
| Direct API upload | Teams with an engineer |
| Manual CSV upload | Occasional batches |
When not to use DataCops
- You want a reporting dashboard. DataCops cleans and sends what goes into your ads. It is not a multi-touch reporting layer.
- Your sales never leave one store checkout. If everything happens in one checkout, the platform's own pixel plus server events may be enough.
Sources and further reading
More on this: CRM webhook offline conversions, and the complete guide to offline conversion tracking.
Open your last ten closed deals and check whether the contact has a click ID stored. If not, fix that first.