Skip to main content

Overview

Connecting Meta Ads enables two features:
  1. Conversions API (CAPI) — NSM sends attributed Purchase events directly to Meta’s server-side API, bypassing browser-side pixel limitations
  2. Ad spend sync — Campaign, ad set, and ad-level spend data is imported every hour
Meta’s Conversions API is the recommended way to send conversion data since iOS 14.5. Server-side events are not affected by App Tracking Transparency (ATT), Safari ITP, or ad blockers — meaning Meta receives more complete conversion data for better optimization.

Prerequisites

Before connecting, make sure you have:
  • A Meta Business Manager account
  • A Meta Ads account with active campaigns
  • A Meta Pixel created in Events Manager
  • Admin access to the Business Manager

Setup Guide

1

Navigate to Integrations

In your NSM dashboard, go to Dashboard > Integrations > Meta Ads and click Connect Facebook.
2

Authenticate with Facebook

You will be redirected to Facebook to log in. Grant the following permissions:
PermissionWhy It’s Needed
ads_readRead campaign and ad set spend data
ads_managementSend conversion events via CAPI
business_managementAccess Business Manager ad accounts
NSM requests the minimum permissions needed. We never create, modify, or delete your ads or campaigns.
3

Select Ad Account

Choose the Ad Account that contains the campaigns you want to track. If you manage multiple accounts via Business Manager, select the specific account for this store.
4

Select Pixel

Choose the Meta Pixel that NSM should send conversion events to. This should be the same pixel installed on your store (if you have a browser-side pixel) for proper deduplication.
If you have both a browser-side Meta pixel and NSM’s CAPI integration, Meta will automatically deduplicate events using the event_id parameter. You do not need to remove your browser-side pixel.
5

Save and Verify

Click Save. NSM will:
  • Start syncing spend data immediately (backfills last 30 days)
  • Begin sending Purchase events for new orders
Verify by checking Events Manager > Test Events in your Meta Business Manager.

What Data is Sent to Meta

NSM sends the following with each Purchase event via CAPI:
FieldSourceHashed?Purpose
event_name”Purchase”NoEvent type
event_timeOrder timestampNoWhen the purchase occurred
event_idNSM event IDNoDeduplication with browser pixel
valueShopify order totalNoConversion value for ROAS optimization
currencyStore currencyNoCurrency code (e.g., USD, EUR)
em (email)Customer emailYes (SHA-256)Customer matching
ph (phone)Customer phoneYes (SHA-256)Customer matching
fbclidURL parameter from ad clickNoClick-level attribution
external_idNSM visitor IDNoCross-session matching
client_ip_addressVisitor IPNoGeo matching (required by Meta)
client_user_agentBrowser UANoDevice matching
Raw personal data (email, phone) is never sent in plain text. NSM hashes all PII using SHA-256 before sending to Meta, which is the format Meta requires for CAPI.

Improving Event Match Quality (EMQ)

Meta’s Event Match Quality score (visible in Events Manager) measures how well your server-side events can be matched to Facebook users. A higher EMQ means better optimization.
  • Collect customer emails at checkout — This is the single most impactful matching parameter
  • Collect phone numbers — Enable phone number collection at checkout in Shopify
  • Ensure fbclid is captured — NSM automatically captures the fbclid parameter from ad click URLs
  • Use consistent data — Make sure your Shopify checkout collects the same email customers use on Facebook
EMQ ScoreAssessment
8.0+Excellent — maximum optimization benefit
6.0-8.0Good — most events are matched
4.0-6.0Fair — consider improving data collection
Below 4.0Needs attention — check data flow
NSM typically achieves EMQ scores of 6.0-9.0 depending on the quality of customer data available.

Deduplication with Browser Pixel

If you run both a browser-side Meta Pixel and NSM’s CAPI integration, Meta handles deduplication automatically:
  • NSM includes an event_id with each CAPI event
  • If Meta receives both a browser-side and server-side event with the same event_id, it counts it only once
  • This means you get the best of both worlds: browser-side events for real-time tracking and server-side events for iOS 14+ recovery
We recommend keeping your browser-side Meta Pixel active alongside NSM’s CAPI. This provides maximum coverage — browser events for consenting users and server-side events for everyone else.

Troubleshooting

Low EMQ typically means customer matching data is incomplete. Check:
  1. Are customer emails being collected at checkout? (Required)
  2. Are phone numbers being collected? (Recommended)
  3. Is the fbclid parameter being captured from ad click URLs?
  4. Verify in Dashboard > Settings > Webhooks that order webhooks are being received with customer data
  1. Go to Events Manager > Test Events and check for recent events
  2. Verify the integration status in Dashboard > Integrations shows “Connected”
  3. Check that you selected the correct Pixel ID during setup
  4. Wait at least 1 hour — CAPI events can take time to process
  5. If still missing, try disconnecting and reconnecting the integration
  1. Check that your Facebook account still has access to the ad account
  2. Verify the OAuth token has not expired (look for “Reconnect” button)
  3. If you recently changed Business Manager permissions, reconnect the integration
  4. Spend sync requires active campaigns — accounts with zero spend will show $0
If you see roughly double the expected conversions:
  1. Verify that event_id deduplication is working — check Events Manager > Test Events for matching event IDs
  2. Ensure you are not sending CAPI events from another tool simultaneously
  3. Contact support if deduplication appears to be failing

Next Steps