Loading your content...
Loading your content...
Technical guide to set up offline conversion import for Meta Ads - mapping, hashing, CSV vs API imports, validation, and US-specific compliance considerations.
From export and hashing to upload and attribution verification.
Map email, phone, and transaction_id with SHA-256 hashing for higher match rates.
Test small imports, monitor match rates, then automate via API or ETL.
Offline conversion import for Meta Ads lets Shopify, WooCommerce and B2B teams close the loop between paid media and real-world revenue. By importing CRM or POS transactions to Meta, you improve attribution accuracy, reduce CAC uncertainty, and measure true campaign-driven revenue in $ for US marketplaces. This guide walks through the technical steps to set up offline conversion import for Meta Ads and integrates with common US stacks.
Founders, growth managers, and in-house performance teams using Meta (Facebook/Instagram) for lead gen or eCommerce who need reliable matching between customer records and ad clicks. If you manage offline receipts, phone orders, or enterprise contracts and use platforms like Shopify, Stripe, HubSpot or Salesforce, these steps apply.
If you want a broader digital growth approach that pairs attribution with CRO and paid media execution, see our Services Overview or learn about our team on the About page.
Before starting, collect these items: a Business Manager account with Events Manager access, the Pixel or Conversions API installation guidance, a CRM or POS export that includes email/phone/transaction_id, and a secure server or ETL process to hash and transmit PII as required by Meta. The high-level architecture is: CRM/POS -> ETL (hashing & mapping) -> Events Manager (Offline Event Set or Conversions API) -> Meta attribution processing.
Hashing note: Meta requires SHA-256 hashed values for identifiers. Hash before transmission and avoid sending cleartext PII. This is a common cause of low match rates when skipped.
| CRM field | Meta parameter | Notes |
|---|---|---|
| Lowercase, trimmed, SHA-256 hashed | ||
| phone | phone | Strip non-numeric characters, include country code |
| transaction_id | user_data.transaction_id or custom_event_id | Helps dedupe and attribute offline sale to click |
Create an Offline Event Set in Events Manager and connect it to the ad account(s) you want to attribute. For test imports use a small CSV with 10-50 hashed rows to validate match rates before scheduling large imports. If you need help aligning tracking with a larger growth plan, our team outlines structured frameworks on the Prebo Digital homepage.
Follow these technical steps to implement offline conversion import for Meta Ads. This covers CSV imports and API-based imports so you can choose a manual or automated approach depending on volume and cadence.
Export transactions from your CRM or POS (e.g., Shopify, Salesforce, HubSpot). Include: transaction_id, sale_amount (USD), purchase_time (ISO 8601), email, phone, first_name, last_name, city, state. Clean data to US formats-phone numbers with +1 country code and emails lowercased. For US-based B2B deals, include company and contract value in $ as an example field.
Apply SHA-256 to identifiers client-side in your ETL or server process. Example match keys: email, phone, and transaction_id. Hashing before transport reduces compliance risk and improves match integrity. If you use a third-party ETL, verify they support hashed outputs aligned to Meta specs.
Upload your hashed CSV in Events Manager or push via API and monitor match-rate metrics. Expect match rates to vary; typical ranges are 20%-70% depending on the identifiers available and data quality. For example, a US retail chain with email and phone may see a 45% match rate initially (estimate).
Meta deduplicates events by matching identifiers and event time. Use transaction_id to help prevent double counting between online conversions and offline imports. Set an appropriate attribution window (e.g., 7-28 days) and compare campaign spend to offline revenue to calculate adjusted CAC and MER. For practical help tying tracking into broader reporting systems like GA4 or a data warehouse, see our Services Overview.
A US B2B seller closes a $2,500 contract that originated from a Meta lead. After importing the hashed transaction with transaction_id and email, Meta matches the event to a prior ad click. If campaign spend was $500, and match-rate-adjusted attribution shows $2,000 of revenue attributable to the campaign (estimates), you can recalculate CAC and MER to inform scaling decisions. These figures are illustrative and depend on match rates and attribution settings.
For frequent imports set up a daily ETL job or use the Offline Conversions API. A structured framework-strategy → build → test → scale → report-helps move from manual uploads to automated, reliable attribution that supports profitable scaling. If you want expert help mapping this into your stack and server-side tracking, talk to a tracking expert to explore implementation options.
Implementations that span multiple CRM systems or require server-side hashing and ETL pipelines often benefit from a structured partner. Learn how our technical-first approach pairs tracking and CRO to drive profitable growth on the About page.

Marion is an award-winning content creator with over a decade of experience crafting high-impact B2B and B2C content strategies. Her content journey began in the mid-00s as a journalist and copywriter, focusing on pop culture, fashion, and business for various online and print publications. As the Content Lead at Prebo Digital, Marion has driven significant increases in engagement, page views, and conversions by employing a creative approach that spans ideation, strategy and execution in organic and paid content.
Disclaimer: This content is for educational purposes only. Product availability, pricing, and specifications are subject to change. Always verify current details on the retailer's website before making a purchase. We may earn affiliate commissions from qualifying purchases.
Contact us today and we will get back to you shortly
Get answers to common questions about Analytics And Tracking