Skip to main content

Meta Ads Integration: Send Call Conversions to Meta Conversions API

Upload eligible Moja call conversions to Meta Ads using Meta Conversions API, Moja Snippets, and DNI.

Written by Moja Bot

Location: Integrations → Meta Ads; Integrations → Snippets; Reporting → Call Tracking

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

Overview

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.

Why this matters

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.

What’s included

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 specific Meta pixels

Upload settings

Lets you choose Lead or Purchase, and Conversion or Payout value source

Token health

Shows whether Meta authorization is active or needs refresh

Upload statistics

Helps monitor successful and failed uploads

Meta Ads page layout

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.

  • Remove Integration — disconnects the Meta Ads integration.

How it works

  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.

  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

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.

Snippets and DNI

What the Moja snippet does

The Moja snippet runs on your website and captures visitor-session data from the landing page. 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.

What DNI does

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.

Meta Ad Accounts and pixels

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

Default pixel

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

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 a specific pixel. If a snippet is not mapped, conversions from that snippet use the default pixel.

Upload settings

Event name

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

Conversion value source

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.

What Moja sends to Meta

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.

How to set it up

1. Connect Meta Ads

  1. In Moja, go to Integrations → Meta Ads.

  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.

2. Create or update the Moja snippet

  1. Go to Integrations → 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.

3. Configure phone number replacement

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

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.

5. Test attribution

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.

Where to find this in Moja

Area

Path

Meta Ads integration

Integrations → Meta Ads

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

Integrations → Snippets

Snippet code

Edit Snippet → copy code into landing page <head>

Number pool assignment

Edit Snippet → Number Pool

Attribution reporting

Reporting → Call Tracking

Verify attribution in reporting

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

Which calls are eligible for upload?

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.

Troubleshooting

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

Calls have no Meta attribution data

Common causes include:

  • The Moja snippet is not installed on the landing page

  • The landing-page URL or browser session is not preserving Meta attribution identifiers

  • 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

Token expired

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

If Token Health shows the token has expired, click Refresh Token from the Meta Ads integration page.

Moja cannot continue syncing conversions with an expired Meta access token.

Static numbers are not uploading

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.

The wrong pixel is receiving conversions

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.

Upload counts are zero

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

Upload timing, delays, and retries

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.

Safety and compatibility

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.

Key takeaway

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.

Did this answer your question?