Build Meta Lookalike Audiences From Your Customer List
Your best targeting data isn’t hiding inside Meta’s interest menu. It’s already sitting in your store database, the list of people who actually paid you. When you feed that first-party data back into Meta as a lookalike audience, you tell the algorithm exactly who to find more of, instead of guessing with interest keywords.
Here’s how we build customer-list lookalikes that outperform cold interest targeting, using a real WooCommerce build as the example.
Why lookalikes beat cold interest targeting
Interest targeting asks Meta to find people who “like” a topic. That’s a proxy for intent, and a loose one, liking a fitness page doesn’t mean someone buys supplements. A lookalike audience works from the opposite direction: you hand Meta a seed list of proven buyers, and its model finds new people who statistically resemble them across thousands of signals you can’t see or select manually.
The difference is that a lookalike is built on outcomes, not affinities. Your seed list already filtered for the one thing that matters, people who converted. Meta just scales that pattern.
- Interest targeting = your guess about who might buy.
- Lookalike targeting = Meta’s model of who actually does, trained on your real customers.
Step 1: Pull your customer list from the source
The seed list has to come from your actual sales data, not a stale export someone made last quarter. For Company B, we pulled 4,000 customers directly from WooCommerce via the REST API. Going straight to the source matters for two reasons: the data is current, and it’s complete, every paying customer, with the fields Meta needs to match them.
Meta matches uploaded lists against its user base using hashed identifiers. The more fields you provide, the higher your match rate. The ones that move the needle most:
- Email address (the single strongest matcher)
- Phone number
- First and last name
- City, state, ZIP, and country
You never upload raw customer data in plain text, Meta hashes it locally before it’s sent, so you’re passing scrambled values, not your customer’s actual email. That’s how the match happens without exposing personal information.
Step 2: Hygiene before you upload
A lookalike is only as good as its seed. Garbage in the seed list means Meta models the wrong people, so list hygiene isn’t optional, it’s the whole game. On the Company B pull, we validated all 4,000 records and uploaded with 0 invalid entries. Every row matched the format Meta expects.
What we check before anything gets uploaded:
- Deduplicate. Repeat buyers can appear multiple times across orders. Collapse them to one record so the seed isn’t skewed toward a handful of people.
- Normalize formatting. Lowercase emails, strip whitespace, standardize phone numbers to the format Meta accepts. Malformed rows simply fail to match and shrink your effective seed.
- Drop the dead data. Test orders, internal team emails, obviously fake entries, and refunded/canceled orders don’t belong in a “proven buyer” seed.
- Confirm the fields map correctly. A phone number in the ZIP column doesn’t just fail to match, it can quietly poison the model.
We pulled 4,000 real WooCommerce customers via the REST API and uploaded with 0 invalid entries, a clean seed is what makes the lookalike worth building.
Step 3: Custom Audience, then 1% Lookalike
The upload creates a Custom Audience, the exact list of your buyers. That audience has two jobs: you can retarget it directly, and it becomes the seed for the lookalike. From it, we built a 1% Lookalike.
The percentage controls the trade-off between similarity and reach. A 1% lookalike is the ~1% of people in your target country who most closely resemble your seed, the tightest, highest-intent match. Larger percentages (2%, 5%, 10%) widen reach but dilute similarity. We start at 1% because precision beats volume when the seed is clean and the budget is disciplined; you can always expand once the 1% proves out and you need more scale.
Step 4: Put it behind a disciplined budget
We launched the Company B lookalike inside a $50/day Campaign Budget Optimization (CBO) campaign, paired with the store’s “HELLO20” 20% off first-order offer. A few reasons that structure works:
- CBO lets Meta allocate. Instead of hand-splitting budget across ad sets, CBO pushes spend toward whichever ad set and audience is converting best in real time, the same kill-the-loser logic, automated at the budget level.
- A first-order offer lowers the barrier. A lookalike is cold-ish traffic, these people resemble your buyers but haven’t bought yet. “HELLO20” gives them a concrete reason to convert on the first visit.
- $50/day is enough to exit learning without overspending on an unproven audience. You want sufficient daily conversions for Meta to optimize, but not so much that a miss gets expensive.
Where lookalikes fit in the bigger picture
Customer-list lookalikes are one layer of a healthy account, not the whole strategy. We typically run them alongside retargeting of the Custom Audience itself and a small interest-based test budget, so there’s always cold reach feeding new buyers into the seed. And the whole approach depends on owning your data, clean store exports, a working pixel, and Conversions API in place, which is exactly why we treat tracking and paid ads as one connected build rather than separate projects.
The takeaway: stop guessing with interest keywords when your customer list already knows the answer. Pull it from the source, clean it ruthlessly, seed a 1% lookalike, and let Meta find more of the people who already trust you.
Want us to build first-party audiences from your store data? Reach out and we’ll audit what you’ve got.
Ready to build a marketing engine that compounds?
Let’s map your full-suite strategy together. Book a free 30-minute strategy call with GrowthHouse Digital.
Book a Meeting →