---
title: "Facebook Conversions API Integration"
description: "Send server-side conversion events to the Meta Conversions API. Agents track purchases, leads, and any standard or custom funnel event, batch historical conversions, and deduplicate against browser Pixel events, with customer data automatically SHA-256 hashed to Meta's rules."
url: https://flowrunner.ai/integrations/facebook-conversions-api
date_modified: 2026-08-01T02:40:32-07:00
---

# Facebook Conversions API

[Advertising](https://flowrunner.ai/integrations/category/marketing-social)

Send server-side conversion events to the Meta Conversions API. Agents track purchases, leads, and any standard or custom funnel event, batch historical conversions, and deduplicate against browser Pixel events, with customer data automatically SHA-256 hashed to Meta's rules.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 4 actions · API key · available

[Facebook Conversions API website](https://business.facebook.com/) · [Platform Documentation](https://business.facebook.com/events_manager) · Capability data verified 2026-08-12

1.  A checkout completes in the storefront and the payment settles
2.  The agent assembles the event: order value, currency, content IDs, order ID, and the customer identifiers
3.  The event\_id is set to match the browser Pixel's event so Meta deduplicates the pair
4.  Track Purchase sends the server-side event, with email and phone SHA-256 hashed to Meta's normalization rules inside FlowRunner
5.  The agent logs Meta's response and watches the running event count against the day's actual orders
6.  When server events and store orders diverge beyond tolerance, the growth lead reviews before the feed keeps teaching Meta from wrong data
7.  The daily attribution health summary posts: events sent, dedup matches, discrepancies

## What This Integration Enables

Ad optimization is only as good as the conversion data feeding it, and browser-side tracking loses more of that data every year. Every blocked Pixel event is a purchase the algorithm never learned from and a dollar of budget optimized against a partial picture. The Conversions API moves the reporting to where the truth lives, your order system, your CRM, your payment processor, and this connector makes sending those events a FlowRunner workflow step, with PII hashing handled automatically on the single-event actions before anything leaves the platform.

-   Attribute revenue with server-side Purchase events fired from the actual completed checkout
-   Capture form submissions and quote requests as Lead events, with optional value for value-based optimization
-   Send any standard or custom funnel event server-side: PageView, ViewContent, AddToCart, InitiateCheckout
-   Pair browser Pixel events with deduplicated server events via matching event\_id for better match quality without double counting
-   Backfill or replay historical conversions in bulk, up to 1000 pre-hashed events per call

The hashing rules deserve the emphasis. On the single-event actions, email, phone, name, and external ID are normalized and SHA-256 hashed inside FlowRunner before the request leaves, and values already shaped like a 64-character hash pass through untouched. Only Meta's designated matching signals, IP, user agent, and the Pixel cookies, travel unhashed, per the spec.

The batch path deliberately skips automatic hashing, which is exactly the kind of sharp edge FlowRunner's [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) gate exists to stand in front of.

### Without FlowRunner

**Attribution decays with the browser**: Cookie restrictions and ad blockers eat Pixel events, and Meta optimizes on a shrinking sample

**Conversions reported by hope**: Whether the Purchase event actually fired depends on the customer's browser settings

**Backfills are a science project**: Replaying missed conversions means hand-building hashed payloads against Meta's schema

### With FlowRunner

**The server reports every conversion**: Purchases and leads flow from systems of record, immune to what the browser blocks

**Pixel and server deduplicate cleanly**: Matching event\_id on both sides means better match quality without double counting

**Backfills are a gated batch job**: Up to 1000 pre-hashed events per call, staged and reviewed before they touch the dataset

## Use Case Scenarios

### Every order becomes a server-side Purchase

A [Shopify](https://flowrunner.ai/integrations/shopify) order confirms. The agent calls Track Purchase with value, currency, content IDs, and the order ID, setting event\_id to the same value the storefront Pixel used so Meta deduplicates rather than double counts. The customer's email and phone are hashed inside FlowRunner before anything leaves. Attribution stops depending on the buyer's browser, and purchase-optimized delivery trains on complete data. When the payment settles through [Stripe](https://flowrunner.ai/integrations/stripe) instead, the same pattern applies from the payment confirmation, whichever system is the truth of the sale.

### Leads with a value attached

A quote request lands via [Typeform](https://flowrunner.ai/integrations/typeform). The agent scores it against the CRM, calls Track Lead with an estimated value and currency, and the campaign optimizes toward the leads that resemble revenue, not just form fills, which is the difference between cheap leads and good ones. During setup, every event carries a test\_event\_code so the team verifies the mapping in the Test Events tab before a single production event ships, the same discipline a staging environment gives an engineering team.

### The migration backfill, reviewed before it teaches Meta anything

A team moving from Pixel-only tracking wants ninety days of historical purchases replayed. The agent pulls the orders, builds the server-event schema with pre-hashed identifiers, and stages the Send Batch Events payload in chunks. The growth lead reviews a sample: hashes verified as 64-character SHA-256, event\_time within Meta's 7-day window flagged where stale, totals reconciled against the order system. Only the approved chunks send, and Meta's per-call responses log to [Google Sheets](https://flowrunner.ai/integrations/google-sheets) with alerts to [Slack](https://flowrunner.ai/integrations/slack).

## Human-in-Loop Highlight

Send Batch Events sends its events array exactly as given, and it does not hash PII: any em, ph, fn, ln, or external\_id field the caller failed to pre-hash goes to Meta as plaintext customer data. That is not a bug to retry, it is a disclosure you cannot recall, with the customer's raw email in a third party's ingestion pipeline. The single-event actions hash automatically, so FlowRunner agents run them freely. The batch path runs gated, always: before any Send Batch Events call, the agent verifies every user\_data identifier matches the 64-character SHA-256 hex shape, and the batch, source, count, sample, and reconciliation against the system of record, posts to the growth lead for approval. A malformed conversion feed also quietly mis-trains ad delivery for weeks, so the review protects both the customers' data and the budget the algorithm spends. Hashing checks are machine work. Releasing a thousand-event payload to Meta is a named person's call.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via email

Human decides

Agent resumes with decision

## Agent Capabilities

4 actions

### Events

4

-   **Send Conversion Event** Sends a single server-side event for any standard or custom event name, PageView, ViewContent, AddToCart, Purchase, Lead, or your own. Email, phone, name, and external ID are automatically SHA-256 hashed to Meta's normalization rules; already-hashed values pass through. Supports a test\_event\_code for setup verification.
-   **Track Purchase** Sends a Purchase event with purchase-specific fields: value, currency, content IDs, order ID. The post-checkout convenience wrapper with automatic hashing built in, made for revenue attribution and purchase-optimized delivery.
-   **Track Lead** Sends a Lead event when a prospect submits a form or requests a quote, with optional value and currency for value-based optimization. Automatic hashing applies, same as the other single-event actions.
-   **Send Batch Events** Sends up to 1000 events in one request, each following Meta's server-event schema. Does not hash PII: all user\_data identifiers must arrive pre-hashed. The bulk backfill path, and the operation this page's gate inspects before anything ships.

## Frequently Asked Questions

### What can FlowRunner do with Facebook Conversions API?

FlowRunner agents can run Send Conversion Event, Track Purchase, and Track Lead in Facebook Conversions API, plus 1 more action.

### Does connecting Facebook Conversions API to FlowRunner require OAuth?

No. Facebook Conversions API connects to FlowRunner with an API key, no OAuth flow required.

### Can Facebook Conversions API trigger a FlowRunner workflow automatically?

Facebook Conversions API doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Facebook Conversions API?** This integration exposes Facebook Conversions API to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/facebook-conversions-api. Site index: https://flowrunner.ai/llms.txt
