Sending CRM data to Meta and Google Ads means uploading what happened after the form fill, like qualified lead, appointment booked or deal won, matched to the original ad click or a hashed email. Meta uses it with the Conversion Leads goal. Google uses it through offline conversion imports and value-based bidding. Both then optimize for real customers, not cheap leads.
- Meta’s A/B test of 1,031 advertisers found an average 21% lower cost per quality lead with Conversions API for CRM and the Conversion Leads goal (2025).
- Pick two or three CRM stages that predict revenue, and send them daily to both platforms.
- Meta’s Conversion Leads goal asks for about 200 leads a month and a target stage reached within 28 days.
- Google’s value-based bidding needs at least two different conversion values and about 15 conversions a month.
Why do my ads get lots of leads but few customers?
Because the ad platform is doing exactly what you asked. If the only conversion Meta or Google can see is "form submitted", they will find the people most likely to submit a form. Those are often not the people most likely to buy.
Both platforms run on machine learning that studies who converts and looks for more people like them. When every lead counts the same, a bored teenager and a homeowner ready to sign a $20,000 contract look identical. The algorithm learns the wrong lesson, and the cheapest leads win.
The fix is to tell the platforms what happened next. Your CRM already knows which leads picked up the phone, booked a call and paid. Sending that back is what turns a lead-volume machine into a customer-finding machine.
What CRM data should I send back to Meta and Google?
Not everything. Send a short list of stages that clearly separate good leads from bad ones, and that happen often enough for the platform to learn from.
| CRM stage | What it tells the platform | Typical timing | Use as |
|---|---|---|---|
| Lead created | Someone filled out the form | Instant | Volume signal, keep as secondary |
| Qualified (MQL or SQL) | Right fit, right area, real need | Hours to days | Main optimization event for most small businesses |
| Appointment held | They showed up | Days | Strong quality signal |
| Deal won | They paid | Days to months | Value signal, ideal with a real dollar amount |
| Disqualified | Spam, wrong service, out of area | Hours | Keep in CRM for audiences and reporting |
How do I send CRM data to Meta?
Meta takes CRM events through the Conversions API. The old Offline Conversions API was discontinued in May 2025, so all offline and CRM events now go through the main Conversions API. Meta calls this setup Conversions API for CRM.
What is the Conversion Leads goal?
In a lead campaign, you can switch the performance goal in Ads Manager from Leads to Conversion Leads and pick your CRM as the event source. Meta then optimizes for people likely to reach the CRM stage you chose, not just to submit the form. Meta says this goal currently works with Instant Forms on Facebook and Instagram.
That is Meta’s own average, so treat it as a direction, not a promise. Results depend on how clean your CRM stages are and how many events you send.
What Meta needs for it to work
- Store the Meta Lead ID (a 15 to 17 digit number) on every lead record in your CRM.
- Pick one stage to optimize for. Meta asks that between 1% and 40% of leads reach it.
- Upload events at least once a day.
- Expect a learning phase of a few weeks. Meta estimates about 3 to 4 weeks from setup to results, and faster with a Meta Business Partner integration.
For website form leads, send CRM stages through the same Conversions API with hashed email and phone, plus the fbc click ID if you captured it. That lets Meta match the outcome to the person who clicked.
How do I send CRM data to Google Ads?
Google calls this offline conversion import. You upload CRM outcomes as conversions, matched to the ad click. There are two ways to match, and you should use both when you can.
| GCLID import | Enhanced conversions for leads | |
|---|---|---|
| How it matches | Google Click ID stored with the lead | Hashed email or phone from your form |
| Needs a hidden form field? | Yes | No, the Google tag captures the data |
| Works if the click ID is lost? | No | Yes, if the email or phone matches |
| Google’s advice | Include GCLIDs whenever possible | Recommended setup, used together with GCLID |
One more change to know about. Since June 15, 2026, offline conversion and enhanced conversions for leads uploads through code go through Google’s Data Manager API, not the Google Ads API. If a developer built your integration before then, check that it still works. No-code connections through Google Ads Data Manager or a CRM’s native integration handle this for you.
What is value-based bidding, and should a small business use it?
Value-based bidding tells the platform how much each conversion is worth, not just that it happened. On Google, that means the Maximize conversion value strategy, with an optional target return on ad spend. On Meta, you send a value with each CRM event.
It works best when your leads really differ in value. A roofing company where a repair is worth $600 and a full replacement $15,000 should not tell Google both are the same "lead". A dentist whose implant patients are worth ten times a cleaning is in the same spot.
How to assign values when you do not know them yet
Google says proxy values are fine when exact values are hard to know. A simple method:
- 1Take your average deal size for each service or lead type.
- 2Multiply by the share of those leads that usually close.
- 3Use that number as the conversion value for that lead type or stage.
- 4Update it every quarter as your close rates change.
For example, if full replacements average $15,000 and 20% of qualified replacement leads close, a qualified replacement lead is worth about $3,000 to you. That is the number to send, not $15,000.
When you are ready for it
- You track at least two different, non-zero conversion values. Google requires this.
- You get about 15 or more conversions a month at the account level.
- You have uploaded value data steadily for at least four weeks, or three conversion cycles, before switching.
- You give it at least two weeks, or three conversion cycles, to ramp up before judging it.
How do I set this up, step by step?
- 1Clean up your CRM stages so they mean the same thing for everyone. "Qualified" needs a written definition.
- 2Capture click IDs on every form: GCLID for Google, fbc or the Meta Lead ID for Meta. Store them on the lead record.
- 3Collect email and phone on every lead, since both platforms match on hashed versions of them.
- 4Connect the CRM. Many CRMs, like HubSpot and Salesforce, have native connectors to Google and Meta. Otherwise, use Zapier or Make, or a server-side integration.
- 5Create matching conversion events in Google Ads and in Meta Events Manager for each stage you send.
- 6Send events daily, with a value where you have one.
- 7Wait until a few weeks of clean data has built up, then switch optimization to the new event.
- 8Review cost per qualified lead and cost per customer each month, not just cost per lead.
Can CRM data improve my audiences too?
Yes. Conversion events teach bidding. Customer lists shape who you reach. Both platforms let you upload a hashed customer list: Custom Audiences on Meta and Customer Match on Google.
- Build a lookalike audience on Meta from customers who actually paid, not from everyone who filled out a form.
- Exclude current customers from new-customer campaigns so you stop paying to reach people you already have.
- Exclude leads marked as spam or out of area, so the same wrong people do not keep seeing your ads.
- Retarget open deals that went quiet with a short reminder or a case study, on a small budget.
Keep these lists fresh. A customer list uploaded once and never updated gets weaker every month. Most CRM connectors can sync lists automatically, and that is worth turning on.
Common mistakes that break CRM feedback
- Optimizing for "deal won" with only a handful of deals a month. Start one stage earlier.
- Sending every lead stage as a primary conversion, so the platform counts one customer four times.
- Not storing the click ID or lead ID, so events cannot be matched to ads.
- Sending the full contract value as the value of a lead that has not closed yet.
- Changing bid strategy, budget and conversion goal on the same day, so no one can tell what worked.
- Forgetting privacy. Your privacy policy should say you share hashed customer data with ad platforms for measurement, and you should respect opt-outs.
What results should I expect?
Usually fewer leads at first, and a higher cost per lead. That is normal. You are asking the platforms to find better people, and better people are less common. What should improve is cost per qualified lead, show rate and cost per customer. Judge the change on those, over at least one full sales cycle.
Frequently asked questions
It is sending conversions that happen outside your website, like a sales call, a signed contract or an in-store sale, from your CRM back to Google or Meta, matched to the ad click. It lets the platforms see which ads produce customers.
Not always. HubSpot, Salesforce and many other CRMs have native connectors, and tools like Zapier or Make can send events without code. A developer helps when you have a custom CRM or need server-side matching.
Meta says the Conversion Leads performance goal currently works with Instant Forms. For website leads, you can still send CRM events through the Conversions API to improve matching, measurement and audiences.
Google recommends about 15 conversions a month at the account level and at least two different, non-zero conversion values, with a few weeks of steady data before switching.
Both platforms ask for email and phone to be normalized and hashed before matching, so you do not send raw contact details. You still need a clear privacy policy and should respect opt-outs and state privacy laws.




