Skip to main content
Shopify → Meta
Built by an ecom marketer, for ecom marketers

Turn your Shopify customer export into a Meta value-based audience CSV.

Drop in your Shopify customers_export.csv and get a Meta-ready file in seconds. Phone numbers normalized with country codes, states mapped to full names, and total lifetime spend included as the audience value - perfect for Meta to build Lookalike Audiences from your best buyers.

Pixel and Meta CAPI (Conversions API) lose 30-50% of purchases to iOS 14, ad blockers, and consent banners. Your Shopify customer list doesn't.

Your customer list never leaves the browser. Files are processed in memory and streamed straight back as a download. We never store, log, or even see your customer data.

Privacy FirstYour customer list is processed in memory and discarded. Nothing written to disk or logs.
Done in one clickWhat used to be a time consuming manual job, done in one upload.
Ready to uploadOutput matches Meta's value-based custom audience template.

Three things the Shopify Facebook & Instagram app can't send to Meta

The Shopify FB & Instagram app forwards purchase events to Meta's pixel as they happen - great for forward-looking attribution. But there are three signals it structurally can't deliver. This tool fills that gap.

  1. 01 · Historical DataYour full historic customer baseMeta only knows what the pixel captured after it was installed. If you have years of Shopify history pre-dating your current setup, none of it is in Meta. Your Shopify CSV has all of it.
  2. 02 · The purchases tracking can't seeCustomers lost to privacy controlsApple's ATT prompt (introduced with iOS 14), Chrome's tracking protection, ad blockers, and GDPR consent banners quietly drop 30-50% of pixel events across iOS, Android and desktop. Your Shopify customer list is server-side first-party data - none of that applies.
  3. 03 · True lifetime value per customerReal LTV, not stitched eventsThe pixel sends per-order values that Meta has to stitch back to a person across fragmented identifiers. Your CSV gives Meta one row per customer with their actual lifetime spend - the cleanest possible signal for value-based Lookalikes.

How often should you re-upload?

Customer-list audiences don't expire like pixel-fed ones, but the lifetime-spend values inside them drift as customers place repeat orders and new buyers arrive. Drop in your average orders per month for a guideline cadence - this is our recommendation, not a Meta-published rule.

Recommended re-upload cadence~6 uploads per year
Every 2 monthsEnough order activity that lifetime spend on existing customers and a steady trickle of new buyers will have shifted noticeably every couple of months.
Best for: Single conversionPay-per-conversion at $5 each is the cheapest option at this cadence.

What it actually does

  • Phone normalizationDetects already-international numbers (kept as-is) and prepends the right country code for local numbers, using the customer's billing country.
  • State and province mappingUS states pass through as 2-letter codes. Every other country gets the full province name Meta requires (England, Bayern, Île-de-France, and so on).
  • Audience valueShopify's Total Spent column is dropped into Meta's value field for value-based lookalikes.
  • Header remappingOutputs Meta's exact header set: email, phone, fn, ln, zip, ct, st, country, value, with placeholders left blank where Shopify has no data (madid, dob, gen, age, uid).

FAQ

Doesn't the Shopify Facebook & Instagram app already do this?No - different system. The Shopify FB & Instagram app forwards purchase events to Meta's pixel in real time, capped to a rolling retention window and missing 30–50% of purchases due to iOS 14, ad blockers and consent banners. We build a Customer List audience: a static, first-party upload of every customer in your Shopify store with their true lifetime spend. The two are complementary. The pixel handles real-time attribution, this handles historic depth and value-based Lookalike seeding. Most stores want both.
Do you store my customer data?No. Your customer list never leaves the browser as a stored file - the CSV is parsed in memory on a serverless function, converted, and streamed straight back to your download folder. Nothing is written to disk, nothing is kept after the request ends, and we don't log row contents.
Why is the free tier limited per IP?To stop abuse without forcing you to sign up. Three small free conversions per network is enough to verify it works on your real data, then unlock unlimited rows for $5.
What does Meta do with the value column?Meta uses purchase value to build value-based lookalike audiences - they bias the lookalike toward customers who spend more, which usually outperforms a flat customer-list lookalike.
Why are some phone numbers dropped?Meta requires country codes. If a customer's phone number isn't already international and we can't infer their country code from the billing address, we leave the phone field blank rather than send something invalid.
Will this work for non-Shopify stores?Right now it expects Shopify's standard customer export columns. If you'd like other source formats supported, get in touch.