Connect Meta Pixel to Fondoo

Live4 min readUpdated

The Meta Pixel measures what visitors from Facebook and Instagram ads do on your site. Fondoo can add the pixel to your published pages and send matching server-side events through Meta's Conversions API. Meta then counts each conversion once, even when a browser blocks the pixel.

What Fondoo can do with it

1. The browser pixel (public, not a secret). Your Pixel ID is saved with configure_site_pixels. Fondoo injects Meta's pixel code and a PageView on the next publish. Previews do not get it.

2. The server connector (secret). Saved with add_connection_key. It runs these actions through connector_action:

  • events.send (write): send one website conversion event to the Conversions API. Allowed names are Meta's standard events: AddPaymentInfo, AddToCart, AddToWishlist, CompleteRegistration, Contact, CustomizeProduct, Donate, FindLocation, InitiateCheckout, Lead, Purchase, Schedule, Search, StartTrial, SubmitApplication, Subscribe, ViewContent (SignUp is mapped to CompleteRegistration). Each event needs eventId, an HTTPS page url, consentGranted:true and at least one customer identifier: email, phone, externalUserId, IP plus user agent, or the fbc / fbp cookies.
  • pixel.get (read): read the pixel's ID and name.

Fondoo cannot create or manage ads, audiences or pixels. No action needs owner approval. Agents need analytics:write for events.send and analytics:read for pixel.get. Deleting the connection needs owner approval.

Before you start

  • A Meta business portfolio (Meta Business Suite) with a pixel (dataset) for your website. The pixel and the Conversions API cost nothing; you pay only for ads.
  • You need developer access to the business. Meta says the Generate access token link is shown only to users with developer privileges (get started).
  • No App Review is needed.
  • Meta's Business Tools Terms forbid sending sensitive data such as health or financial details.

Step by step: get your credentials

Pixel ID (pixelId, required)

  1. Open Events Manager.
  2. Under Data sources, select your pixel and open the Settings tab. Meta lists the Pixel ID there (Navigate Events Manager). Meta now also calls it the dataset ID.
  3. Copy the number. It goes into both configure_site_pixels and the connector.

Conversions API access token (accessToken, required)

  1. In the same pixel's Settings tab, find the Conversions API section.
  2. Under Set up manually, click Generate access token and follow the pop-up (Meta). Meta creates a Conversions API app and a system user for you.
  3. Copy the token. Meta does not let you pick scopes here; the token is tied to a system user with access to this pixel, which is all Fondoo needs.

If you use your own Meta app, generate a system user token in Business Settings for a system user assigned to this pixel instead.

Connect it in Fondoo

a. In the dashboard. Go to Connections → Connect a tool. Type "Meta" in Find a tool. On the Meta Pixel card click Use a key, then Open secure key entry. Fill in pixelId and accessToken, then click Save connection securely. The page expires after 15 minutes and works once.

The dashboard has no screen for the browser pixel; use your agent or REST.

b. By asking your agent. Example prompt: "Add Meta Pixel 123456789012345 to my site and send me a secure link for the Conversions API token."

The agent calls:

configure_site_pixels({siteId, meta: {pixelId: "123456789012345"}})
add_connection_key({provider: "meta_pixel", siteId})

The second call returns a one-use securePasteUrl; never paste the token into chat. Then publish_site injects the pixel.

REST: the same calls are POST /v1/ops/configure_site_pixels and POST /v1/ops/add_connection_key, with the call input as the JSON body:

curl -X POST https://api.getfondoo.com/v1/ops/add_connection_key \
  -H "Authorization: Bearer $FONDOO_API_KEY" -H "Content-Type: application/json" \
  -d '{"provider":"meta_pixel","siteId":"YOUR-SITE-ID"}'

Consent. requireConsentForPixels defaults to false, because Fondoo has no per-site region setting. Turn it on for EU or UK visitors. Then no pixel loads until your banner calls window.fondooConsent.grant(). Global Privacy Control is always honored. Server events are refused unless the input says consentGranted:true; only set it for visitors who agreed.

Deduplication. In the browser call window.fondooPixel.track("Purchase", {eventId, value, currency}). It supports Purchase, Lead, CompleteRegistration and InitiateCheckout, and sends your eventId as Meta's eventID. Send the same eventId and event name in events.send. Meta drops the second copy if both arrive within 48 hours (deduplication).

Test that it works

  1. Run test_connection({connectionId}). Fondoo reads the pixel's ID and name. Success shows connected with pixel.get confirmed. events.send stays unknown until you send an event.
  2. In Events Manager open your pixel → Test events and copy the test code.
  3. Send a test event: connector_action({connectionId, action: "events.send", input: {name: "Lead", eventId: "test-1", url: "https://example.com/contact", email: "test@your-domain", consentGranted: true, testCode: "TEST12345"}}). It should appear on the Test events tab.
  4. Remove testCode afterwards. Meta still processes test events, so do not leave it on.

Troubleshooting

  • "Credential fields do not match the connector manifest": the Pixel ID must be digits only, and the token must be pasted whole.
  • Test shows invalid: the token is wrong or revoked, or its system user has no access to this pixel. Generate a new token from the pixel's Settings.
  • "Unsupported Meta event name": use one of the standard names above, with the same capitals. Custom events are not supported.
  • "url (HTTPS page URL) is required": Meta needs the page address for website events.
  • "Event time must be a recent Unix timestamp": Meta accepts events up to 7 days old.
  • Purchases counted twice: the browser and server eventId or event name differ.

Limits, data and security

  • Meta documents no specific Conversions API rate limit; calls count against Marketing API rate limiting. Fondoo sends one event per request and applies a local budget of 60 requests per minute.
  • Fondoo uses Graph API version v26.0.
  • Email, phone and externalUserId are SHA-256 hashed before they leave Fondoo. IP, user agent and the fbc/fbp cookies are sent unhashed, as Meta requires.
  • Credentials are encrypted in Fondoo's connector vault. list_connections shows only a masked value. A rotation reminder is due after 90 days unless you set rotateAfter.
  • To rotate, run rotate_connection_key({connectionId}) and re-enter both fields. To disconnect, run delete_connection (needs owner approval). This does not revoke the token at Meta; remove the system user's access in Business Settings.
  • To remove the browser pixel, call configure_site_pixels({siteId, meta: null}) and publish again.
  • This connector does not use webhooks.
  • Fondoo reads Meta's reply to confirm the event was received. That reply format is not on Meta's current pages, so this may differ for your account.