Ad platform

Meta Conversions API for CRM, without an engineering project

A Meta lead that closes six weeks later never makes it back to Meta on its own. The browser is gone, the pixel event fired at form submit and nothing after that, and your ad account keeps counting form fills as if they were all equal. Attribi holds the link between the visitor, the lead, and the deal, then sends the outcome to Meta through the Conversions API from our servers, with the deal value and currency attached once it closes.

No credit card required · 5-minute setup

What Attribi does with Meta Ads

Conversions API upload

Sends

Form fills and qualified leads arrive as Meta Lead events, closed-won deals arrive as Purchase events carrying the deal value and currency. Attribi sets the event names, so there is no stage mapping for you to configure or get wrong.

Instant Form lead matching

Sends

When a lead originated in a Meta Instant Form, its Meta lead ID travels with every event Attribi sends, which is the identifier Meta looks for in a CRM-sourced conversion rather than a browser click ID.

Hashed email and phone

Sends

Email and phone are SHA-256 hashed before they leave Attribi and sent with every event, so a person can still be matched when no fbclid survived the trip from the ad to your CRM.

Daily spend import

Imports

Cost, clicks, and impressions come back from your Meta ad account every day, so the revenue your CRM confirmed is compared against what Meta actually charged you.

Click ID capture

Receives

fbclid is recorded the moment a visitor lands and stays attached to that visitor, so a deal that closes months later still points at the ad that started it.

Setting up Meta Ads

  1. 1

    Connect Meta and pick the ad account

    Sign in with Facebook from the Connections page and choose the ad account and pixel you want events sent to. Agencies running several accounts connect each one; Attribi keeps their events and spend apart.

  2. 2

    Activate each stage

    Meta has no API for minting a named conversion, so Attribi activates a stage by sending one synthetic event with a hashed dummy email. Meta registers the standard event on its side and the stage is live. Nothing has to be built in Events Manager by hand.

  3. 3

    Close deals as usual

    From then on your CRM is the trigger. Marking a lead qualified or a deal won sends the matching Meta event within the same run, with revenue attached on close. No CSV exports and no monthly offline-event upload.

Step-by-step walkthrough: Salesforce to Meta Offline Conversions: Send Every Stage Through the Conversions API, Not Just the Win · Salesforce to Meta Conversions Not Showing? Troubleshoot Delivery, Matching and Attribution

How to connect your CRM to Meta Ads with the Conversions API

Key points

  • Connecting a CRM to Meta Ads means sending CRM outcomes, qualified leads and closed deals, to Meta through the Conversions API.
  • With Attribi the connection needs no code: connect Meta, activate the stages, connect the CRM.
  • Meta receives a Lead event for form fills and qualified leads, and a Purchase event with value and currency for closed deals.
  • A person is matched by Meta lead ID, by the fbclid click ID, or by hashed email and phone.
  • Seven CRMs are supported, and outcomes are read from the CRM once a day.

How do I connect my CRM to Meta Ads?

Connect both to Attribi. Sign in with Facebook and choose the ad account and pixel, activate the funnel stages, then authorize your CRM. From then on, marking a lead qualified or a deal won in the CRM sends the matching event to Meta through the Conversions API, with revenue attached when the deal closes.

The steps below are the whole job. The Meta side is the same whichever CRM you use.

  1. On the Connections page, sign in with Facebook and pick the ad account and pixel that should receive events.
  2. Activate each stage. Attribi sends one synthetic event with a hashed dummy email so Meta registers the standard event.
  3. Connect your CRM and, where it asks, choose which deal stages mean qualified.
  4. Work your pipeline as usual. Qualified and won outcomes are read from the CRM once a day and sent to Meta.
Stage activation setup guide

What is the Meta Conversions API for CRM?

The Meta Conversions API is the server-to-server channel for sending events to Meta without a browser. Using it for CRM means sending events that happen in your sales process, such as a lead being qualified or a deal being won, so Meta can connect them to the ad or the lead form that started them.

The pixel in the browser fires at form submit and then loses sight of the person. Everything that decides whether the lead was worth paying for happens later, inside the CRM.

The Conversions API is how that later outcome gets back. It needs an identifier Meta can match and an event Meta understands, sent from a server that still knows who the person was.

Which CRMs can Attribi connect to Meta Ads?

HubSpot, Salesforce, Zoho, Pipedrive, Freshsales, LeadSquared and Odoo. Attribi reads deals from each one daily and sends qualified and closed-won outcomes to Meta. Shopify paid orders are supported as Purchase events with the real order total.

Only the CRM step differs between them, mainly in how you tell Attribi which stage means qualified.

Uploads to ad platforms and CRM revenue connections are paid plan features. The pricing page lists what each plan includes.

Example: how the HubSpot connection works

How does Meta match a CRM record to a person?

Attribi sends every identifier it holds. For leads from a Meta Instant Form that is the Meta lead ID. For website leads it is the fbclid click ID recorded when the visitor landed. In both cases SHA-256 hashed email and phone are sent as well, and they are the fallback when neither ID exists.

Instant Form leads are the easy case, because the lead ID is issued by Meta and points at one specific form submission.

Website leads depend on the click ID surviving from the ad to the CRM. Attribi stores it against the visitor rather than relying on a CRM field, so it is still there when the deal closes. A lead entered by hand with no click history still uploads on hashed email and phone, at a lower match rate.

Should I use a CSV upload, a custom build or a connector?

A manual offline event upload suits a one-off analysis. A custom Conversions API build suits a team that runs Meta only and has engineers to maintain it. A connector suits everyone else, because the recurring cost of this work is upkeep: stage changes, hashing rules, retries and expired connections.

Attribi is a connector that also covers the other platforms. The CRM connection that feeds Meta feeds Google Ads, LinkedIn Ads, Microsoft Ads, TikTok Ads and Snapchat Ads too, each in its own event format.

A worked example: Salesforce closed-won deals to Meta Ads

What are the limits?

Three worth knowing. The stage to event mapping is fixed, so event names cannot be customized. Meta has no API for creating a named conversion, so stages are activated by sending a first event instead. And matching on hashed email and phone alone gives lower match rates than a click ID or a lead ID.

None of these stop outcomes reaching Meta. They shape what you should expect to see in Events Manager on day one.

Funnel stages

Stages Attribi supports for Meta Ads.

  • Lead
  • Qualified
  • Closed Won

Works with

Frequently asked questions

Do I need a developer to implement the Meta Conversions API?

No. Attribi is the Conversions API implementation. You connect Meta and your CRM from the Connections page, and Attribi sends the server-side events, including the hashing of email and phone, the event payload, and the deduplication identifier. There is no code to write and nothing to deploy on your website.

Which Meta events does Attribi send for each funnel stage?

Form fills and qualified leads are sent as the standard Lead event, with a content category that separates the qualified ones, and closed-won deals are sent as Purchase with the deal value and currency. The mapping is fixed by Attribi rather than configured per account, so every Attribi customer sends the same standard events Meta already understands.

Does this work for leads that came from Meta Instant Forms?

Yes. Leads captured through a Meta Instant Form carry a Meta-issued lead ID, and Attribi sends that ID with every event for the lead, alongside hashed email and phone. That is what lets Meta tie a conversion your CRM reported back to the specific form submission it came from, without a click ID ever existing.

What is the 24 percent figure Meta publishes about the Conversions API?

Meta publishes that a proper Conversions API implementation lowers cost per quality lead by up to 24 percent. That number is Meta’s, about Meta’s own product, and Attribi neither measures nor guarantees it. What Attribi removes is the reason most teams never get there: the two to three week engineering build that a compliant server-side implementation normally requires.

Does Attribi import my Meta ad spend?

Yes, daily. Cost, clicks, and impressions are pulled from your Meta ad account and stored per campaign and day, so return on ad spend is calculated from real Meta billing data rather than a figure typed into a spreadsheet.

Can I connect a CRM to Meta Ads without a tracking script on my site?

Yes for qualified and closed-won outcomes. Without the Attribi script no fbclid is captured from the landing page, so matching relies on the hashed email and phone held in your CRM. Adding the script is what recovers the click ID and the visit history behind each lead.

Updated

Connect Meta Ads to Attribi.

Sign up and connect it from the Connections page.

Start Free

No credit card · Free up to 500 visitors a month