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.

In 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.

CheckPractical question
CoverageAre the intended real-world outcomes reaching the connected pixel?
Matching informationDoes each event contain the supported identifiers your collection flow actually provides?
DeduplicationCan corresponding browser and server copies be recognized as the same action?
FreshnessAre 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 suppliedField
Meta browser Pixel event optionseventID
Meta CAPI eventevent_id
Skro incoming postbackeventId

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_2048

These 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:

  1. Open Settings → Integrations and edit the connected Facebook (Meta) integration.
  2. Open the Conversion API step and enable it.
  3. Configure the conversion events you intend to send, such as Lead, Purchase, or Subscribe.
  4. Choose Include Conversion Payout if that event should carry its revenue and currency.
  5. Add a descriptive Pixel Name, the intended Pixel ID, and the Conversion API Access Token generated through the Meta setup flow.
  6. 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.

MetricBefore the tracking changeAfter the tracking change
Real purchases100100
Actual purchase revenue€5,000€5,000
Advertising spend€2,000€2,000
Purchases recorded in the compared report7095
Revenue recorded in that report€3,500€4,750
Reported ROAS1.752.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

Need help with your event mapping or pixel configuration? Contact Skro support or message @SkroSupport on Telegram.

Written by the Skro team

Practical guidance based on Skro’s tracking, reporting, and automation workflows.

Back to all articles
Your next campaign starts here

Know what works.
Make your next move.

Connect your traffic sources, track your conversions, and bring your reporting together.

Create a free account No credit card required for the Free plan