AdPilot Conversion API Setup

Conversion tracking is a launch-readiness requirement for AdPilot. Pixel-only or dashboard-only tracking is not enough for paid acquisition monitoring because AdPilot needs a verified server-side event path before it can optimize, monitor CPA/ROAS, or trust no-conversions states.

Use this guide to prepare the provider-specific tracking pieces that setup verification expects before AdPilot launches or optimizes campaigns.

What You Need

RequirementWhy it matters
Meta Business accessLets you select the Business, ad account, Pixel ID, and dataset.
Meta Pixel installed on the landing siteProvides browser-side event collection and dedupe pairing for Meta.
Meta server-side CAPI endpointSends the same conversion event from your server or approved event source.
Google Ads customer IDRoutes Google conversion events to the correct customer account.
Google conversion action detailsIdentifies the conversion action AdPilot should report against.
LinkedIn rw_conversions scopeAllows LinkedIn conversion-rule management and Conversions API event delivery.
LinkedIn conversion rule detailsIdentifies the LinkedIn conversion AdPilot should report against.
Conversion event nameTells AdPilot what to optimize toward, such as signup, trial_start, lead, or purchase.
Consent handlingBlocks events that cannot legally be sent to Meta.
Privacy policy and source URLLets AdPilot verify the event source and compliance context.

Meta Pixel And CAPI Requirements

Install the Meta Pixel on the landing page and every page that can trigger the configured conversion event.

The Pixel event should include:

  • The same event name configured in AdPilot.
  • A stable event_id that your server-side CAPI event also uses for dedupe.
  • The landing page URL as the event source.
  • fbp and fbc browser identifiers when available and allowed by consent.
  • Value and currency for revenue events when applicable.

Keep the Pixel active even when you send CAPI events. Meta uses the Pixel and CAPI pair to dedupe events and improve match quality. Pixel ID plus server-side CAPI verification are required before approving Meta spend.

Google Conversion Requirements

Google Ads conversion delivery requires:

  • The selected Google Ads customer ID.
  • Login customer ID or MCC access when the account is managed through an MCC.
  • The conversion action ID or name that matches the configured AdPilot conversion event.
  • A server-side event payload that includes timestamp, value and currency when applicable, order or dedupe identifier when available, and consent metadata.

If the connected Google user cannot see the customer account, AdPilot cannot verify conversion setup or deliver Google conversion events.

LinkedIn Conversions API Requirements

LinkedIn conversion delivery requires:

  • LinkedIn Ads OAuth with r_ads, rw_ads, r_ads_reporting, and rw_conversions.
  • Campaign Manager access to the target ad account.
  • The conversion rule or conversion setup details for the event AdPilot should report against.
  • Server-side event data with a stable dedupe identifier and consent metadata.

Existing LinkedIn Ads customers connected before rw_conversions was added must reconnect before AdPilot can send LinkedIn conversion events.

Server-Side Event Requirements

Your site or server-side tag manager must be able to send the configured conversion event through the provider’s server-side conversion path. The endpoint can be implemented in your application backend, a server-side tag manager, or another approved event source that you control.

The server-side event must provide:

FieldRequirement
event_nameMatches the AdPilot conversion event exactly.
event_timeUnix timestamp for when the conversion happened.
event_idStable dedupe key shared with the browser Pixel event.
event_source_urlThe page where the conversion happened.
action_sourcewebsite for site conversions when the provider requires it.
user_dataHashed identifiers such as email or phone when consent allows.
consentConsent status, jurisdiction, GPC state, and policy source.

AdPilot stores only normalized, hashed identifiers for provider dispatch. Events without publishable consent are kept out of the provider publishing path.

Before sending conversion events to ad providers, confirm that:

  • The customer has permission to use the event for ad measurement and optimization.
  • EEA, UK, and CH events have granted consent before hashed identifiers leave Opius.
  • California events with Global Privacy Control or sale/share opt-out are not sent.
  • Unknown jurisdiction events are treated as not publishable until jurisdiction and consent are known.
  • Sensitive categories and restricted verticals are reviewed before launch.

If consent is missing or revoked, AdPilot can record the blocked state but does not publish the event to Meta, Google, or LinkedIn.

Verification Step

During setup, AdPilot verification is expected to check:

  1. Meta Ads is connected and the selected Business, ad account, and Pixel are visible.
  2. Google Ads is connected and the selected customer ID can be reached.
  3. LinkedIn Ads is connected with rw_conversions when LinkedIn conversion delivery is enabled.
  4. The configured conversion event name is present in the customer setup.
  5. The Pixel is installed on the landing URL for Meta campaigns.
  6. A server-side conversion test event can be received or confirmed for the same event name.
  7. The browser event and server event share a dedupe event_id when the provider supports dedupe.
  8. Consent metadata is present and publishable for the test event.
  9. The event source URL matches the configured landing URL or an approved domain.
  10. The provider response does not show a hard error, missing permission, blocked dataset, missing customer ID, or missing conversion scope.

Verification should fail fast if the required provider asset is missing, the server-side event path is unreachable, the event names do not match, consent is not publishable, or the provider returns a permission error. Fix the issue, reconnect the affected provider if needed, then run verification again.

What Happens If Verification Fails

FailureRecovery
Pixel missingInstall the Pixel on the landing URL and conversion page, then verify again.
CAPI or conversion endpoint unreachableCheck your server or tag manager endpoint, then send another test event.
Google customer ID missingSelect the correct Google Ads customer account and verify MCC access.
LinkedIn rw_conversions missingReconnect LinkedIn Ads and approve the full permission prompt.
Event name mismatchUpdate AdPilot or your site so both use the same event name.
Missing dedupe keySend the same event_id in Pixel and CAPI events.
Consent not publishableUpdate consent capture or exclude the event from provider publishing.
Provider permission errorReconnect the provider or confirm account, asset, and conversion permissions.

After Verification Passes

AdPilot can use the verified event for launch planning, daily monitoring, no-conversions checks, CPA/ROAS reporting, and auto-pause guardrails. If the Pixel, conversion endpoint, customer ID, conversion rule, event name, or consent policy changes later, rerun verification before approving new spend.

Related docs: