All articlesOpen the converter
Guide27 May 20269 min read

How to upload Shopify customers to a Meta Custom Audience (with lifetime value)

A step-by-step guide to exporting your Shopify customer list, formatting it for Meta, and building value-based Lookalike Audiences from lifetime spend.

Your Shopify store knows exactly who your customers are and how much each of them has spent over their lifetime. Meta's ad platform can turn that knowledge into some of the highest-performing audiences available — but only if you get the data in correctly. This guide walks through the whole process: exporting your customers from Shopify, formatting the file the way Meta expects, uploading it as a Customer List, and using it to build a value-based Lookalike Audience.

Step 1 — Export your customers from Shopify

Don't export straight from the default Customers list — it's easy to accidentally pull the wrong group (like only email subscribers). The reliable way is to export from a segment, which lets you export exactly the customers you mean to.

  1. 1
    Go to Customers → Segments

    In your Shopify admin, open Customers in the left sidebar, then click Segments.

  2. 2
    Open the “Customers who have purchased at least once” segment

    Shopify creates this segment for you by default — you don't need to build it. It's exactly what you want for a value-based audience: everyone who has placed at least one order, which is a much better source list than the email-subscriber segment.

Shopify admin Segments list with 'Customers who have purchased at least once' highlighted among the default segments.
Customers → Segments. “Customers who have purchased at least once” is created by Shopify automatically — click into it.
  1. 3
    Open More actions → Export

    On the segment's page, click More actions in the top right, then Export.

Shopify segment detail page for 'Customers who have purchased at least once' showing 645 customers, the segment definition, and the More actions menu top right.
Opening the segment shows how many customers match and its definition (at least 1 order). Export lives under More actions, top right.
  1. 4
    Confirm the export options and export

    In the export pop-up, leave “X customers matching your filters” selected (this is everyone in the segment, not just the current page) and keep CSV for Excel, Numbers, or other spreadsheet programs selected as the file format. Click Export customers. Shopify emails you the CSV — usually within a couple of minutes.

Shopify 'Export customers' pop-up with '645 customers matching your filters' and 'CSV for Excel, Numbers, or other spreadsheet programs' selected, and the Export customers button.
The pop-up defaults to exactly what you want: every customer in the segment, in spreadsheet CSV format.
  1. 5
    Check you have the key columns

    The export includes columns like Email, Phone, First Name, Last Name, Province, Country Code and — crucially — Total Spent. That last column is the lifetime value Meta uses to build value-based audiences.

Step 2 — Convert the CSV to Meta's format

Shopify's export and Meta's Customer List importer don't use the same column names or formats. The three things that trip people up:

  • Phone numbers. Meta wants E.164 format with a country code (e.g. +447911123456). Shopify often stores them without, or inconsistently.
  • State / province. Meta matches on full state names in many regions; Shopify exports two-letter codes.
  • Lifetime value.Meta's value-based audiences need a dedicated value column — you have to map Shopify's Total Spent across to it.

You can do this by hand in a spreadsheet, but it's fiddly and easy to get wrong. Our converter does all of it in one step: drop in the Shopify customers_export.csv and it returns a Meta-ready file with phones normalised, states expanded, and lifetime spend placed in the value column. The conversion runs entirely in your browser — the customer list is never uploaded to us.

Step 3 — Create a Customer List audience in Meta

  1. 1
    Open Audiences in Meta Ads Manager

    In Meta Ads Manager, click Audiences in the left sidebar.

Meta Ads Manager left sidebar with Audiences highlighted, above Advertising settings and below Ads Reporting.
Audiences lives in the main Ads Manager sidebar.
  1. 2
    Create audience → Custom Audience

    Click Create Audience at the top of the page, then choose Custom Audience from the dropdown.

Create Audience dropdown open with Custom Audience highlighted, above Lookalike audience and Saved Audience.
Create Audience → Custom Audience.
  1. 3
    Choose Customer list as the source

    In the Choose a custom audience source pop-up, select Customer listunder “Your sources” and click Next.

Choose a custom audience source pop-up with Customer list selected under Your sources, next to Website, App activity, Catalogue and Offline activity.
Pick Customer list, not Website — this is the option that accepts an uploaded file.
  1. 4
    Prepare list → click Next

    The wizard opens on Prepare list. There's nothing to change here — click Next to move to Add list.

  2. 5
    Upload the converted CSV

    Under Add list, upload the file from Step 2. Leave Inclusions or exclusionsselected (not “Only exclusions”) so you can also use this list for a Lookalike later.

Add list step showing 'How will you use this audience?' with Inclusions or exclusions selected, a note about customer value and lookalikes, and an uploaded file.
Keep “Inclusions or exclusions” selected — “Only exclusions” can't be used to build a Lookalike.
  1. 6
    Confirm customer value, name the audience, and click Next

    Scroll down. Meta will ask “Does your file include a column for customer value?” — answer Yes and select the value column (this is the lifetime-spend column from Step 2). Add an audience label and name if you want to keep track of your uploads, then click Next.

Add list step scrolled down showing the uploaded CSV file, 'Does your file include a column for customer value?' set to Yes with a value column selected, an audience label, and an audience name field.
Answering Yes here and mapping the value column is what unlocks a value-based Lookalike later.
  1. 7
    Check Map identifiers, then Import and create

    On Map identifiers, Meta should show 9 columns mapped — email, phone, first name, surname, ZIP/postcode, city, county/region, country, and customer value — these are the data points that came from Shopify. You may also see an “Action needed” tab listing a handful of extra columns (like madid, dob, gen) set to “Do not upload” — these are optional Meta fields Shopify doesn't provide, so it's safe to ignore them. Click Import and create.

Map identifiers step showing 9 columns mapped from the customer list, and an Action needed tab with 6 optional columns set to Do not upload.
9 columns mapped automatically from your Shopify export. The “Action needed” columns are optional fields you can safely leave unmapped.
  1. 8
    Complete Upload and Confirmation

    Follow the remaining Upload and Confirmation steps. Matching and processing usually takes anywhere from a few minutes to a few hours, depending on list size.

Step 4 — Put the list to work

Once your customer list has finished processing, there are two places to use it:

  1. 1
    Add it to Advertising settings as an existing customer list

    Go to Advertising settings in the Ads Manager sidebar (just below Audiences) and add the list you just uploaded under existing customers. This lets Meta exclude — or specifically target — these customers across your account without you having to add the audience to every ad set manually.

  2. 2
    Build a value-based Lookalike from the list

    Back in Audiences, select your customer list, then Create audience → Lookalike audience using it as the source. Because your list includes lifetime value, Meta offers a value-based Lookalike — it finds people who resemble your highest-spending customers, not just any buyer.

  3. 3
    Pick your audience size

    A 1% Lookalike is the tightest match; 5–10% trades precision for reach. Many advertisers build several (1%, 5%) and test them as separate ad sets.

How often should you refresh?

A Customer List is a static snapshot — it doesn't update itself. As you gain new customers and existing customers place repeat orders (changing their lifetime value), the list drifts out of date and your Lookalikes age with it. Re-upload periodically to keep the seed fresh. There's an interactive calculator on the homepage that suggests a cadence based on your monthly order volume — most stores land somewhere between monthly and fortnightly.

Frequently asked questions

Doesn't the Shopify Facebook & Instagram app already send my purchases to Meta?

It sends purchase events to Meta's pixel in real time, but only what it captures going forward, and it loses 30–50% of events to iOS ATT, ad blockers and consent banners. A customer-list upload sends your full historic customer base with true lifetime value — a separate, complementary audience source.

Will Meta match every customer in my list?

No. Meta matches the hashed email and phone numbers in your list against Facebook and Instagram accounts. Typical match rates are 60–80% depending on data quality. Including both email and phone improves the match rate.

How often should I re-upload my customer list?

Whenever a meaningful share of your list has changed — new customers plus existing customers whose lifetime value moved. As a rough guide, monthly works for most stores; high-volume stores benefit from fortnightly or weekly. There's an interactive calculator on the homepage.

Is it safe to upload my customer data?

Meta requires customer data to be hashed before upload, and our converter processes your file entirely in your browser — your customer list is never stored on our servers. You remain the data controller and must have a lawful basis for marketing use.

Keep reading

Ready to build your audience?

Convert your Shopify customer export into a Meta-ready, value-based CSV in seconds. Your first conversion is free and your data never leaves your browser.

Open the converter