Skip to content

Meta Ads Integration: Send Call Conversions to Meta Conversions API

Location: Integrations → Manage on the Meta Ads card; Numbers → Snippets; Reporting → Call Tracking

Use case: Upload eligible Moja call conversions to Meta Ads through Meta Conversions API.

Moja can upload eligible call conversions to Meta Ads when the call can be tied back to a Meta-attributed website visitor session.

For website call attribution, Moja needs two things:

  1. Meta attribution data from the landing-page visit — such as fbclid, _fbp, or _fbc.

  2. A way to connect that website visit to the inbound phone call — typically through the Moja snippet and Dynamic Number Insertion (DNI).

In practice, customers should use Moja Snippets + DNI for Meta Ads call conversion uploads. The snippet captures visitor-session attribution, and DNI connects that session to the Moja tracking number the visitor calls.

Related guides: Find and manage integrations · DNI, Tracking Tags/Snippets, and Number Pools

Meta Ads conversion postbacks help you optimize campaigns based on real call outcomes instead of clicks alone.

With the Meta Ads integration, you can:

  • Send eligible Moja call conversions to Meta Conversions API

  • Attribute website calls to Meta visitor-session identifiers

  • Optimize Meta campaigns using real call conversion outcomes

  • Route conversions to the correct Meta pixel or dataset

  • Monitor upload health and troubleshoot missing conversions

The key requirement is attribution: Moja must have supported Meta attribution data on the call before it can upload the conversion.

Feature What it does
Meta Conversions API uploads Sends eligible Moja call conversions to Meta Ads
Meta attribution support Uses supported identifiers such as fbclid, _fbp, and _fbc
Moja snippet support Captures landing-page visitor-session data
DNI attribution Connects the visitor session to a dynamically inserted Moja tracking number
Linked Meta Ad Accounts Connects Meta Ad Accounts and pixels/datasets
Default pixel routing Sends unmapped snippet conversions to a selected default pixel
Snippet → pixel routing Maps specific Moja snippets to one or more Meta pixels; uploads honour saved mappings and can partially deliver
Upload settings Lets you choose Lead or Purchase, and Conversion or Payout value source
Token health Shows whether Meta authorization is active, needs refresh, or needs reconnect
Upload statistics Helps monitor successful and failed uploads

The Meta Ads integration page has two main tabs:

  • Overview — use this to monitor token health, linked Meta Ad Accounts, and conversion upload statistics.

  • Configuration — use this to configure upload settings, upload delays, default pixel routing, and snippet mappings.

Top-level actions include:

  • Refresh — reloads the latest integration state.

  • Reconnect Meta — available on integration cards when authorization is expired or Meta requires re‑authentication, to restore credentials without removing the integration.

  • Remove Integration — disconnects the Meta Ads integration.

  1. A visitor clicks a Meta ad. Meta sends the visitor to your landing page and may include attribution identifiers such as fbclid, _fbp, or _fbc.

  2. The Moja snippet loads. The snippet captures the visitor session and available Meta attribution data. If the visitor later navigates or reloads without those parameters, the snippet preserves Meta click identifiers across page loads for up to 90 days (where browser storage is available). When the Meta pixel cookie is unavailable, the original click time from the saved click is retained. A newer Meta ad click replaces any previously saved click.

  3. DNI replaces the phone number. The visitor sees a dynamically inserted Moja tracking number from the configured number pool.

  4. The visitor calls. Moja associates the call with the snippet session and captured attribution data.

  5. Moja evaluates the conversion. If the call meets the selected upload setting, Moja queues it for upload.

  6. Moja sends the event to Meta. Moja uploads the event to the configured Meta pixel/dataset through Meta Conversions API.

  7. Meta receives the event. Meta can use the conversion for attribution, reporting, and campaign optimization.

Meta attribution identifiers help Meta connect a website visit or browser session back to Meta advertising activity.

Moja uses supported identifiers when available, including:

  • fbclid — Meta click identifier from the landing-page URL

  • _fbp — Meta browser identifier cookie

  • _fbc — Meta click identifier cookie

If none of these identifiers are present, the call generally cannot be uploaded as a Meta-attributed conversion.

A phone call by itself does not contain Meta ad-click attribution. Moja needs the landing-page session data captured by the snippet and tied to the call through DNI.

The Moja snippet runs on your website and captures visitor-session data from the landing page, then preserves that attribution across subsequent page loads and reloads. This allows Moja to preserve Meta attribution before the visitor places a call.

Without the snippet, Moja usually cannot see the website session or Meta attribution identifiers. The call may still appear in Moja, but it may be ineligible for Meta upload.

Dynamic Number Insertion replaces website phone numbers with Moja tracking numbers from a configured number pool.

This lets Moja connect the visitor session captured by the snippet to the actual inbound call.

Static-number calls usually do not carry the website visitor session or Meta attribution identifiers needed for Conversions API uploads. Use Moja Snippets + DNI when you want website calls attributed and uploaded to Meta Ads.

After Meta is connected, Moja shows linked Meta accounts and Meta Ad Accounts in the Meta Ads integration page.

Linked account details can include:

  • Meta account name and ID

  • Account status

  • Linked Meta Ad Accounts

  • Meta Ad Account name and ID

  • Business, when available

  • Pixel or dataset name and ID

  • Currency

  • Default pixel indicator

The default pixel is used when a snippet does not have a specific pixel mapping.

If no snippet mappings are configured, eligible conversions are sent to the default pixel.

Snippet → pixel routing lets you control which Meta pixel receives conversions from specific Moja snippets.

This is useful when you have multiple campaigns, websites, brands, ad accounts, or pixels.

A snippet can be mapped to one or more Meta pixels. Scheduled and manual Meta conversion uploads send each mapped snippet to its mapped pixel or pixels. If a snippet is not mapped, conversions from that snippet use the default pixel.

When a snippet is mapped to more than one pixel, Moja uploads to each required pixel. The call is complete only after every required pixel acknowledges it. A later retry sends only the destinations that have not succeeded yet, using the destinations and event data from the original attempt.

Upload lists, call details, and manual‑upload results can show partial delivery and destination counts.

When exactly one pixel is linked, an amber notice in Snippet → Pixel Routing explains that mappings need at least two linked pixels, that unmapped conversions use the default pixel when one is set, and that linking another pixel enables Add Mapping.

Moja supports two Meta event names:

Event name When to use it
Lead Use when the call represents a lead, inquiry, qualified prospect, or other lead-generation event
Purchase Use when the call represents a completed sale or revenue event

Moja supports two upload triggers and value sources:

Setting Upload trigger Value sent to Meta
Conversion Uploads calls when the call is marked converted revenue_paid_out
Payout Uploads calls when a publisher payout exists publisher_paid_out

For Conversion mode, the call must be marked converted.

For Payout mode, the call must have a publisher payout greater than zero.

Moja builds a Meta Conversions API event for each eligible attributed call.

The event can include:

  • Event name: Lead or Purchase

  • Event time: inbound call time

  • Action source: phone_call

  • Event ID: Moja-generated event ID based on the call log ID

  • User data:

- Hashed caller phone number, when available

- fbc, when available

- fbp, when available

- fbc derived from fbclid when _fbc is not available

- External ID from the Moja visitor ID, when available

  • Custom data:

- Currency

- Conversion value

- Order ID using the call log ID

Moja hashes phone numbers before sending them to Meta.

  1. In Moja, open Integrations, then click Manage or Connect on the Meta Ads card.

  2. Complete the Meta OAuth connection flow if Meta Ads is not connected yet.

  3. On the Overview tab, confirm token health and linked Meta Ad Accounts.

  4. Use + Link Additional Account if another Meta Ad Account should receive conversion events.

  5. Confirm the account has the intended pixel/dataset selected.

  6. Use Refresh to reload the integration state after making changes.

  1. Go to Numbers → Snippets.

  2. Create or edit the snippet for the landing page.

  3. Copy the snippet code and paste it into the <head> section of the landing page.

  4. Configure the snippet fields, including:

- Snippet Name

- Campaign / default number

- Number to Replace

- Number Pool

  1. Confirm Enable Number Replacement is turned on.

In the snippet table and edit screen, confirm:

  • Snippet Name — the label used to identify the snippet

  • Number to Replace — the static website number that should be replaced

  • Number Pool — the pool of Moja tracking numbers used for DNI

  • Enable Number Replacement — whether DNI replacement is active

If you use multiple domains, review Linked Domains in the snippet configuration to help maintain visitor IDs across sites.

4. Configure snippet → pixel routing, if needed

Section titled “4. Configure snippet → pixel routing, if needed”

In the Meta Ads integration Configuration tab:

  1. Select the Default Pixel for unmapped snippets.

  2. Use + Add Mapping to map a specific snippet to a specific Meta pixel when needed.

  3. Leave snippets unmapped if they should use the default pixel.

  4. Confirm the mapping matches the intended campaign, website, or brand.

Snippet mappings are useful when different snippets, campaigns, brands, or websites should send conversions to different Meta pixels.

After setup, place a test call from a Meta-attributed visitor path when available.

Then confirm the call has attribution data in Moja and meets the selected upload condition.

Area Path
Meta Ads integration Integrations → Manage on the Meta Ads card
Overview tab Meta Ads → Overview → Token Health, Linked Meta Ad Accounts, Conversion Upload Statistics
Configuration tab Meta Ads → Configuration → Upload Settings, Upload Delay, Default Pixel, Snippet Mappings
Snippets / DNI Numbers → Snippets
Snippet code Edit Snippet → copy code into landing page <head>
Number pool assignment Edit Snippet → Number Pool
Attribution reporting Reporting → Call Tracking

After calls begin flowing, use Reporting → Call Tracking to confirm whether Meta attribution is being captured and uploaded.

Useful signals include:

  • Calls with fbclid, _fbp, or _fbc

  • Calls attributed through a current or historical DNI session

  • Calls marked converted, if using Conversion mode

  • Calls with publisher payout, if using Payout mode

  • Upload status and upload attempts

  • Meta upload errors, when present

A call generally needs all of the following:

  • A Moja call attribution record

  • Attribution method of current or history

  • Sufficient attribution confidence

  • Meta attribution data: fbclid, _fbp, or _fbc

  • No previous successful Meta upload

  • A qualifying conversion or payout, depending on the selected upload setting

  • A valid linked Meta pixel/dataset

  • An active Meta access token

Customers should not expect every call to upload. Only calls with the required attribution data and configured conversion condition are eligible.

Calls are showing in Moja but not uploading to Meta Ads

Section titled “Calls are showing in Moja but not uploading to Meta Ads”

Check whether the call has captured Meta attribution data:

  • fbclid

  • _fbp

  • _fbc

If none are present, the call generally cannot be uploaded as a Meta-attributed conversion.

Also confirm:

  • The Meta token is active

  • At least one Meta Ad Account is linked

  • A default pixel is selected

  • The relevant Moja snippet is installed

  • DNI / number pool attribution is working

  • Calls meet the selected upload trigger: Conversion or Payout

  • The selected timezone matches the expected reporting window

Common causes include:

  • The Moja snippet is not installed on the landing page

  • No page before the call included supported Meta attribution identifiers, or they were removed before the snippet first ran. Removing parameters on later pages does not clear previously captured attribution. A click ID appended only after a page has loaded may not replace an older saved click.

  • The snippet loads after the visitor has already called

  • The phone number was not replaced through DNI

  • The visitor called a static number instead of the dynamically inserted number

  • The visitor session could not be matched confidently to the inbound call

On the Meta Ads Overview tab, check Token Health. This area shows token status, expiration, and last refresh timing.

If authorization is expired or Meta confirms that re‑authentication is required, use Reconnect Meta from Token Health or from the integration card. Completing Meta authorization with the original Meta account updates credentials on the same integration and keeps linked ad accounts, pixels, defaults, snippet mappings, conversion settings, and pause state. A paused integration stays paused.

Refresh Token remains available while credentials are still valid. Temporary Meta or network errors during refresh stay retryable and do not switch the panel to reconnection.

Failed or cancelled authorization leaves the current configuration unchanged and shows recovery guidance. Moja cannot continue syncing conversions without a valid Meta access token.

This is expected in most cases. Static-number calls usually do not carry the website visitor session and Meta attribution identifiers needed for Conversions API uploads.

Use Moja Snippets + DNI if those calls should be attributed and uploaded.

Review snippet → pixel routing.

If no mapping exists, conversions go to the default pixel. Add a snippet mapping if a campaign or snippet should send conversions to a different pixel.

On the Meta Ads Overview tab, review Conversion Upload Statistics. Moja shows upload totals for Today, This Week, and All Time, including total uploads, successful uploads, failed uploads, and success rate.

If counts are zero, check that:

  • The Meta token is active

  • A Meta Ad Account is linked

  • A default pixel is selected

  • The relevant Moja snippet is installed on the landing page

  • DNI / number pool attribution is working

  • Calls have fbclid, _fbp, or _fbc

  • Calls meet the selected upload trigger: Conversion or Payout

Moja does not upload conversions instantly.

Eligible conversions are uploaded automatically every 60 minutes. Meta Conversions API allows event_time to be up to 7 days before the event is sent to Meta. Moja should upload eligible phone-call conversions within that 7-day window.

If you need time for call quality review, fraud checks, or payout confirmation, use the Configure delays option in the Meta Ads configuration.

If Meta is temporarily unavailable or an upload fails, Moja retries when possible.

Existing call tracking continues to work unchanged.

Static numbers can still receive and track calls in Moja. Meta Ads uploads only apply when the call has the required attribution data and meets the configured upload condition.

Snippet and DNI configuration should be tested before relying on uploads for campaign optimization.

For automatic Meta Ads call conversion uploads from website visitors, use Moja Snippets + DNI, make sure the call has supported Meta attribution data, and confirm the call meets the selected upload trigger.