← Back to Blog
● BLOG · META ADS · MEASUREMENT

Meta Conversions API for Peptide Ecommerce: Setup, Deduplication and Data Hygiene

The Conversions API sends events from your server so Meta can still see purchases when browser tracking falls short. Here is how to set it up without double counting.

Blog post featured image

Browser tracking alone misses conversions. Ad blockers, browser limits and consent choices all reduce what the Meta Pixel can see. The Conversions API (CAPI) sends events from your server to Meta, so the platform has a more complete picture to optimise on. For a peptide ecommerce store, the main risks are double counting and sending data you should not.

This guide complements our GA4 enhanced conversions guide and our Meta scaling guide.

What to Send

Start with the standard commerce funnel and add nothing sensitive:

  • ViewContent (product page view)
  • AddToCart
  • InitiateCheckout
  • Purchase, with value and currency

Use generic product identifiers. Avoid sending health claims, condition names or free-text fields in event parameters. If your business also provides care, read our guide to pixels and health data first.

Deduplication: The Step Most Stores Get Wrong

If the Pixel and the Conversions API both send the same purchase, Meta needs a way to count it once. Meta's developer documentation recommends this method:

  1. Send the same event name from both sources. The Pixel's event must match the API's event_name.
  2. Send the same event ID from both sources. The Pixel's eventID must match the API's event_id.
  3. Send both to the same Pixel ID.

Meta states that when both keys arrive within 48 hours, the later event is discarded. If the two events do not differ meaningfully in content, Meta generally keeps the one it received first.

The fallback

If you cannot send event IDs, Meta's documentation describes a fallback using event_name plus fbp and/or external_id sent consistently from both browser and server. It generally works only when the browser event arrives first, followed by the server event, and it does not deduplicate when all events come from one source. Use event IDs where you can.

Three Ways to Implement

RouteBest forWatch out for
Platform or partner integrationStores on common ecommerce platformsCheck that deduplication is on and which events are sent
Server-side tag managerTeams that want control over what is sentNeeds hosting and careful event ID handling
Direct API integrationDevelopers with custom stacksYou own hashing, retries and monitoring

Data Hygiene

  • Hash customer information. Meta's documentation specifies hashing for customer data parameters such as email and phone. Confirm the current rules in its docs.
  • Send only what you need. More fields are not better. Remove anything that reveals health information.
  • Respect consent. If your site asks for tracking consent, your server events should follow the same choice.
  • Match the privacy policy. Describe tracking and sharing accurately.
  • Avoid reconstructing audiences from sensitive data. See our personal attributes guide.

Test Checklist

  1. Make a test purchase and confirm it appears once in Events Manager, not twice.
  2. Check that both browser and server sources show the same event name and ID.
  3. Compare Meta's purchase count with your store's for a week and investigate large gaps.
  4. Review match quality indicators in Events Manager and fix missing parameters.
  5. Re-test after any checkout, theme or plugin change.

Use the Data for Decisions

Better tracking is only useful if you judge results by profit. See our guide to MER, POAS and contribution margin, and keep the account healthy with the routine in our Account Quality guide.

Frequently Asked Questions

What is the Meta Conversions API?

It lets your server send events such as purchases directly to Meta, so the platform can measure and optimise even when browser tracking misses events.

How do I stop double counting with the Pixel and CAPI?

Send the same event name and the same event ID from both sources to the same Pixel ID. Meta says that when both arrive within 48 hours, the later event is discarded.

What if I cannot send event IDs?

Meta describes a fallback using event name plus fbp and/or external_id sent consistently from browser and server. It generally works only when the browser event arrives first.

Should I send health information to Meta?

No. Keep health claims, condition names and free-text fields out of event data, and review your setup with counsel if you provide care.

How do I know CAPI is working?

Make a test purchase, confirm it appears once in Events Manager with matching browser and server events, and compare Meta's counts with your store's.

Want This Handled for Your Brand?

We help peptide, supplement and clinic brands run compliant Google and Meta campaigns that scale without putting the account at risk.

Book a free 30-minute audit →

Ready to Scale Your Peptide Brand?

Get a free 30-minute audit of your Google Ads or Meta Ads account. We’ll review compliance, structure, and growth opportunities — no strings attached.

Book a Free Audit