Feature

Meta Ads: create the ads, sync the spend, close the loop

DropCPL creates ads on Meta through the Marketing API, syncs spend per ad_id, and sends lead events back through the Conversions API.

The measurement loop breaks in one specific place: the ad platform and your own tracking count different things, and nothing reconciles them.

DropCPL closes it by owning both ends. It creates the ads, so it knows the ad_id for every creative. It logs the clicks, so it knows the real leads. It reads spend per ad, so the CPL has a denominator you can defend.

Creating the ads

Ads are created through the Meta Marketing API from inside DropCPL: creative, copy, destination, ad set, campaign. Because DropCPL writes the ad, it also writes the destination URL — with the ad_id already in it — and stores the mapping between the creative and the Meta ad_id.

That mapping is the quiet foundation of everything else. When a human sets up ads by hand, the link between “this creative” and “this ad_id” lives in someone’s memory or in a UTM convention that eventually drifts. Here it is a database row.

Syncing spend

A scheduled job reads spend from the Meta Ads API per ad and stores it against the same ad_id. Spend is the one number that should come from Meta — it is Meta’s invoice, not an estimate.

Sending events back

Leads are reported to Meta through the Conversions API, server-side, with:

  • the fbclid and click identifiers captured at click time,
  • an event_id so Meta can deduplicate the server event against the browser pixel event,
  • the lead event itself, so Meta’s optimiser can learn from real conversions rather than from modelled ones.

This is the part most setups get wrong. If you send the same conversion twice with no event_id, Meta counts it twice. If you send it only from the pixel, iOS restrictions decide whether it arrives.

Two numbers, one canonical

After this loop runs, you have two conversion counts:

SourceCountsUsed for
Meta (modelled + CAPI)what Meta believes convertedthe platform’s optimiser
DropCPL (first-party)clicks logged, forms receivedthe CPL you decide on

DropCPL displays the second as your CPL and feeds the first back to Meta. It does not average them, and it does not quietly prefer the platform number when it looks better.

Last updated: 2026-09-21

FAQ

Do I still need Ads Manager?+

No for creation and measurement of the ads DropCPL manages: creatives, ad sets, destination URLs and the spend read-back all happen in dropcpl. Meta Business Manager still owns the account, the payment method and the policies, and you can always open Ads Manager to look.

What is the Conversions API for?+

It sends conversion events from your server to Meta, so the platform can attribute and optimise without depending only on the browser pixel. DropCPL sends lead events with the click identifiers it captured, and an event_id so Meta can deduplicate against the pixel.

Does the spend come from Meta or from DropCPL?+

Spend comes from Meta, per ad, through the Ads API. Leads come from DropCPL, first-party. The CPL on the matrix is the ratio of the two — one authoritative source on each side, which is what keeps the number defensible.

Ready to find out what
converts, for real?

Free to start.

Start free →