> For the complete documentation index, see [llms.txt](https://docs.chord.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chord.co/activate/event-streaming/destinations/advertising/meta/meta-conversions-api/diagnostic-guide.md).

# Meta Conversions API diagnostic guide

If you're experiencing issues with your [Meta Conversions API](/activate/event-streaming/destinations/advertising/meta/meta-conversions-api.md) (CAPI) destination, this guide will walk you through common problems and how to resolve them. Each flow below addresses a specific issue with step-by-step troubleshooting instructions.

## Events not appearing in Events Manager

**Symptoms:**

* Expected server events (like `Purchase`) are not visible in Meta Events Manager.
* You’ve recently configured CAPI but see no activity.

**How to troubleshoot:**

1. Confirm the CAPI destination is created in Chord and has an active connection with a back end source.
   1. Verify the Pixel ID and Access Token values for the destination correspond with the values listed in your Meta Business/Events Manager account
2. Go to Meta’s **Test Events tool** and trigger a known action.
3. Look for **HTTP 200 responses** and verify no errors like:
   * `401 Unauthorized` → Invalid token or app config
   * `400 Bad Request` → Missing or incomplete payload
4. Retry with a minimal payload (just `event_name`, `event_time`, and `user_data`) to isolate the issue.

## Duplicate events or overcounting

**Symptoms:**

* Conversion counts appear inflated in Meta Ads Manager.
* Same action appears twice under “Received Events.”

**How to troubleshoot:**

1. Check whether **Pixel and CAPI are both firing** the same event.
2. Confirm the `event_id` field is included in both and matches exactly.
3. Visit Meta Events Manager → **Diagnostics tab** to see any deduplication warnings.
4. Use the **Test Events tool** and look for a single deduplicated instance of the event.

## Low match rate or inaccurate attribution

**Symptoms:**

* Meta Ads Manager reports poor attribution for key campaigns.
* Low conversion match rates despite CAPI being enabled.

**How to troubleshoot:**

1. Confirm that `user_data` includes identifiers like:
   * `fbc` / `fbp`
   * Array of hashed external\_ids including Anonymous ID and User ID
   * Hashed email (`em`)
   * Hashed Phone (`ph`)
   * Hashed zip code (`zp`)
   * Hashed city (`ct`)
   * Hashed country (`country`)
   * Hashed first name (`fn`)
   * Hashed last name (`ln`)
2. Turn on **Advanced Matching** in the Meta Pixel settings.
3. Optionally, A/B test campaigns with vs. without CAPI enabled to evaluate impact.

## Best practices recap

| **Recommendation**       | **Why It Helps**                      |
| ------------------------ | ------------------------------------- |
| Use CAPI + Pixel         | Covers blind spots, improves accuracy |
| Use matching `event_id`  | Prevents overcounting                 |
| Include full `user_data` | Boosts attribution match rates        |
| Monitor Diagnostics tab  | Flags misconfigurations               |
| Test frequently          | Verifies end-to-end setup             |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.chord.co/activate/event-streaming/destinations/advertising/meta/meta-conversions-api/diagnostic-guide.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
