Meta Conversions API: better signals for better ad decisions
Learn how Meta CAPI supports conversion measurement, how to prevent duplicate events, and how to connect and validate server-side tracking in Skro.
purchase_2048In this article
A customer completes a purchase. Your checkout records it, but the browser event never reaches Meta. Your business has the sale; the advertising platform may have an incomplete picture of the outcome.
Meta's Conversions API, usually called CAPI, provides a server-side route for sending conversion events. It can help improve the signals available for measurement and optimization. The value depends on what you send, how you identify the event, and whether the receiving account can use it correctly.
For Skro users, the practical question is how to connect a real conversion to the right campaign and send a useful event to Meta. This guide explains that flow, shows how to avoid duplicate counts, and separates better reporting from an actual improvement in business results.
1. What changes when you add CAPI?
A browser pixel sends events from the visitor's browser. A server-side integration sends an event from a connected system. In a Skro workflow, a conversion is recorded in Skro and the configured Meta integration sends the corresponding event to the selected pixel.
That gives you another delivery path when a browser request is missing or unreliable. It also gives you a way to report an outcome received through a supported postback or integration, rather than relying entirely on a page visit at the moment of conversion.
The source event still has to exist. CAPI cannot reconstruct a purchase your checkout never recorded, repair a missing Skro click ID automatically, or turn a registration into a paid order. Start with a reliable incoming conversion flow, then validate the outgoing Meta event.
Keep the distinction between the two systems clear:
- Skro attribution connects the incoming conversion to a tracked visit and campaign.
- Meta event delivery sends the configured conversion information to the selected Meta pixel.
- Meta reporting and optimization use that information within Meta's own processing and attribution settings.
An event appearing in Skro does not, by itself, confirm that Meta received it. Check both sides.
2. Focus on four signal-quality checks
Meta's own optimization guidance emphasizes event coverage, event quality, deduplication, and data freshness. Those are useful checks before judging a CAPI setup by its reported ROAS. Meta Blueprint: Optimize Meta Conversions API.
| Check | Practical question |
|---|---|
| Coverage | Are the intended real-world outcomes reaching the connected pixel? |
| Matching information | Does each event contain the supported identifiers your collection flow actually provides? |
| Deduplication | Can corresponding browser and server copies be recognized as the same action? |
| Freshness | Are events being sent promptly, with the correct occurrence time? |
Event Match Quality can help you review the matching information received by Meta. Treat it as a diagnostic alongside event receipt and your own business records. A higher score alone does not prove that campaign profitability improved.
In Skro, additional Meta conversion parameters include supported customer fields, fbp, and an event identifier. Follow the documented formats and use genuine values from your conversion flow. Respect the consent and data-use settings in that flow; do not invent identifiers to fill empty fields.
3. Give the same action the same event ID
If the browser pixel and CAPI both report one purchase, the objective is one counted purchase. Configure the corresponding copies with the same event name and matching event identifier, and send them to the same intended pixel.
The names of the identifier fields differ by interface:
| Where the identifier is supplied | Field |
|---|---|
| Meta browser Pixel event options | eventID |
| Meta CAPI event | event_id |
| Skro incoming postback | eventId |
Skro's Meta parameter guide describes using the same identifier for browser and server copies. Meta's deduplication reference provides the provider-side details.
For example, the browser copy of a purchase could use:
fbq('track', 'Purchase', {
value: 49.00,
currency: 'EUR'
}, {
eventID: 'purchase_order_2048'
});The corresponding incoming Skro postback could include:
https://skrotrack.com/postback?clickId=REPLACE&ce=Purchase&payout=49&eventId=purchase_order_2048These are illustrative fragments, not a complete integration. Replace the click ID with the original tracked visit's value, configure the Purchase event and outgoing mapping in Skro, and confirm the payout currency in your setup. Use your configured tracking domain where applicable.
A different purchase needs its own event identifier. A retry of the same event should retain its identifier. Also keep these concepts separate: a click ID identifies the tracked interaction, a transaction ID identifies a transaction in your conversion flow, and the event ID identifies the event copies you want to match. One click can lead to several distinct purchases or events.
4. Connect Meta Conversions API in Skro
Begin with the Meta Ads integration. Then follow the Skro CAPI setup guide:
- Open Settings → Integrations and edit the connected Facebook (Meta) integration.
- Open the Conversion API step and enable it.
- Configure the conversion events you intend to send, such as
Lead,Purchase, orSubscribe. - Choose Include Conversion Payout if that event should carry its revenue and currency.
- Add a descriptive Pixel Name, the intended Pixel ID, and the Conversion API Access Token generated through the Meta setup flow.
- Save the integration and confirm that the relevant traffic source and campaign use the intended configuration.
The access token belongs in the integration's access-token field. The example postback above does not require you to append that token to its URL.
For multiple event types, review custom conversions and event-name mappings. Decide separately which events contribute to Skro's approved conversions and revenue, and which events should be sent to the traffic source. A funnel event can be useful for diagnosis without being a payable conversion.
5. Validate one conversion from end to end
Use a controlled conversion through your provider's supported test process before relying on a large volume of events.
Check the incoming conversion in Skro. Confirm its click ID, event name, payout, currency, and transaction reference. Make sure it appears in the intended reporting columns.
Check the destination in Meta Events Manager. Confirm that the event reaches the intended pixel and is identified as the event type you configured. Review the diagnostics associated with the event and the browser/server connection methods in your setup.
Check corresponding copies. If both the pixel and CAPI report the action, compare their event name and event identifier. Verify the receiving system's deduplication result instead of treating two received copies as two sales.
Check the value. A correctly delivered Purchase with the wrong value or currency can still produce misleading revenue reporting. Compare it with the underlying order or payable conversion.
When something is missing, investigate the earliest broken step. A conversion absent from Skro points you toward the incoming flow. A conversion present in Skro but missing from Meta points you toward the selected integration, pixel, event mapping, access, or delivery diagnostics.
6. Separate reporting gains from sales growth
Adding a delivery path can change how many existing conversions are reported. That does not mean the business generated the same number of additional sales.
Consider a purely illustrative scenario: 100 real purchases, each worth €50, with €2,000 in advertising spend. Assume all purchases are eligible for the comparison and the reporting period and attribution definitions stay consistent.
| Metric | Before the tracking change | After the tracking change |
|---|---|---|
| Real purchases | 100 | 100 |
| Actual purchase revenue | €5,000 | €5,000 |
| Advertising spend | €2,000 | €2,000 |
| Purchases recorded in the compared report | 70 | 95 |
| Revenue recorded in that report | €3,500 | €4,750 |
| Reported ROAS | 1.75 | 2.38 |
The report is more complete in this example, while actual revenue is unchanged. The figures are not a recovery-rate benchmark or a forecast for your campaigns.
To assess ad-delivery impact, look beyond the increase in recorded events. Use a controlled comparison where possible, or comparable reporting periods with enough mature outcomes. Record changes to budget, creative, audience, offer, and attribution settings so that you can interpret the result.
Use Skro reporting to keep campaign cost, attributed conversions, and revenue in view. Compare Meta and Skro with an understanding of each system's attribution rules, timezones, reporting periods, and conversion definitions. An exact match between every headline total should not be your only validation test.
7. Avoid the mistakes that make CAPI less useful
- Sending every funnel stage as a purchase. A signup, checkout start, and completed payment represent different outcomes. Map them deliberately.
- Generating unrelated IDs for corresponding copies. Two independently generated identifiers do not establish that the browser and server events describe the same action.
- Reusing one ID across different purchases. Keep distinct business events distinguishable.
- Adding a second sender without checking the first. If a store app or another integration already sends CAPI events, document which sender owns each event and test the combined setup. Do not assume duplicate server submissions are handled automatically.
- Ignoring event delays. A late approval or queued delivery can change how a recent reporting period looks. Check the source timing and delivery flow before changing campaign budgets.
- Treating a successful API response as a performance result. Receipt, matching, attribution, and business impact are separate things to verify.
Build a flow you can explain
A useful CAPI setup has a clear chain: a real outcome is recorded, linked to the correct Skro interaction, mapped to the intended Meta event, and checked in the receiving pixel. Matching identifiers and meaningful values make that chain easier to validate.
Start with one important event. Confirm its path and its relationship to the browser copy. Then expand the setup and measure what changed in both reporting and business results.
Setup guides and references
- Set up Meta Conversions API in Skro.
- Send additional Meta conversion parameters.
- Configure custom conversions.
- Understand postback parameters.
- Explore Skro's Conversion API solution.
- Meta Blueprint: Optimize Meta Conversions API.
- Meta: Deduplicate Pixel and Server Events.
Need help with your event mapping or pixel configuration? Contact Skro support or message @SkroSupport on Telegram.