> ## Documentation Index
> Fetch the complete documentation index at: https://docs.funeli.top/llms.txt
> Use this file to discover all available pages before exploring further.

# Track conversions with Meta and TikTok pixels

> Connect Meta and TikTok pixels with server access tokens to a Funeli project, send leads, checkouts and purchases from the browser and the server, and test events.

Funeli sends funnel conversions to Meta and TikTok so your ad campaigns can optimise for purchases. Each event can go through the browser pixel, the platforms' server API, or both with a shared event id that the platform counts once.

## Connect a pixel

**1. Open Ad pixels**

In the project settings, open **Ad pixels**. Only owners can add or change pixels.

**2. Add the pixel and token**

Enter the pixel id and the server access token from Meta Events Manager or TikTok Events Manager. The token is stored encrypted and never shown again.

**3. Make it the default**

Each project has at most one default pixel per platform. Funnels in the project use it unless you choose another pixel or turn tracking off for a funnel in its **Settings**, **Ad pixels** section.

## Events

TikTok receives `Lead`, `InitiateCheckout`, `AddPaymentInfo`, `Purchase` and `StartTrial`, and its pixel sends PageView. Quiz step views stay in Funeli analytics. A confirmed one-click upsell is sent as its own `Purchase` of the offer, separate from the main purchase.

For each event you can choose where it goes: off, browser, server or both (the default).

## Test events

Use the test action on a connection to check it. With a test event code from Events Manager (Test Events), the platform receives a flagged test event. Saving a test event code on a connection sends all its server events to Test Events until you remove the code.

## Troubleshooting

> [accordion] Events do not show up in Events Manager
>
> Check that the funnel is published, that the project has a default pixel for that platform or the funnel selects one, and that tracking is not turned off for the funnel. Then send a test event with a test event code. Server events can take a few minutes to appear, and Meta's deduplication status lags behind.

> [accordion] Purchases are counted twice
>
> With delivery set to both, the browser and server events share an event id, and the platform counts them once. Counting twice usually means another tag on the page sends its own purchase event.

> [accordion] A funnel should use a different pixel
>
> Add the second pixel to the same project and select it in the funnel's **Settings**, **Ad pixels** section. Saved pixels never fire in parallel: each event goes to the default or to the one the funnel selects.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.