Every advertiser I’ve ever worked with knows that lookalike audiences only work as well as the seed you feed them. Meta says it. Google says it. Every consultant who’s ever run a Facebook campaign says it. And yet the way most performance teams build their seeds today is… a SQL filter. WHERE ltv > 500. Maybe AND last_purchase_date > '2025-01-01' if they’re feeling fancy. CSV export, drop into Meta, let the platform do its thing.
That’s a 1-D heuristic over a high-dimensional behaviour space. And it’s leaving an enormous amount of performance on the table.
The published numbers all point the same way
Meta themselves recommend a source audience of 1,000 to 5,000 users and explicitly tell you that quality matters more than size. Their published minimum is 100, but anything below ~500 supposedly produces unreliable results. Basically a few thousand great customers should beat tens of thousands of okay ones. And all of the data I’ve found so far backs this up:
- AdEspresso ran a comparison of 1% lookalikes vs 10% lookalikes and found the 1% audiences delivered roughly 70% better CPA (via Pixis).
- A propensity-modeling case found that seeds built from the top-scoring 75+ prospects produced lookalike pools with 35-50% higher conversion rates than seeds drawn from the full database (LeadSources).
- A Skydeo-cited Meta study saw 20-30% conversion-rate improvements from refined seed lists vs broad ones, and up to 43% lower CPA when lookalikes were sourced from high-quality data vs interest targeting (Skydeo).
Of course you can argue with the methodology behind any individual stat and some of these are vendor-blogged rather than peer-reviewed, so headline numbers should be taken with a pinch of salt. That being said the direction of travel is pretty unanimous; tighter and more behaviourally coherent seeds outperform bigger noisier ones. And this is often by a LOT.
So why do almost all performance teams I run into still build most of their seeds with a one-line WHERE clause?
SQL filters can’t see what deep learning can
My theory as to why is that the alternative used to be much harder than a quick SQL cut. Real customer segmentation work has historically meant either rules-based operations (RFM tiers, defining “high-value” cohort, etc) or classical clustering on hand-engineered features (k-means on a few RFM-style numbers). Both approaches assume that the human in charge already knows which dimensions matter up front. And of course the perf. marketer may have to call on a separate data science team to get this done which takes time and slows their campaign plan right down.
Deep learning on the other hand allows you to find segments that you didn’t know to look for. Algorithms like Deep Embedded Clustering (Xie et al., ICML 2016) jointly learn a non-linear embedding of each customer and a soft cluster assignment - in the same loop. The embedding captures behavioural patterns that an analyst wouldn’t be able to engineer as a feature. Not “spend > X and visits > Y” but essentially a high-dimensional fingerprint of how a customer actually moves through your data. Pinterest publishes this stuff openly: their contrastive user/item embeddings lift ads ranking AUC measurably over hand-crafted features at billions-of-events scale (Pinterest paper).
In plain language: w/ deep learning you stop describing your customers and instead start letting the model find the customers who actually behave alike, even when “behaving alike” is a thing no human would have spotted.
I mention all this because it’s what turns a seed from a broad brushtroke into one of those fancy pens graphic designers use to draw things with incredible precision!
Different cuts of data for different jobs
A related point worth making clearly. People sometimes hear “deep learning” and assume the right move is always to throw the entire data warehouse at the problem… every customer, every transaction, every event going back as far as you have data. Sometimes that’s correct. If you’re designing a loyalty scheme from scratch and want the broadest possible understanding of your customer base, you absolutely want to model multi-year transactions across every cohort you’ve ever had. Breadth is the point.
Lookalike seeds are a different game. The whole reason the seed matters is that you’re handing a small, focused signal to a downstream platform whose job is to find more of that. Feeding the model your whole warehouse and asking it to produce a seed is asking the wrong question. What you actually want is the densest, most coherent slice of the customers you most want more of. Different question, different cut of the data.
This is also where the warehouse-native and clean-room trend pays off. You don’t need to ship your CDP to Meta. You don’t even need to copy data out of Snowflake or Databricks. You model where the data lives and ship only the activated segment ID.
Let’s look at how Neuralift does it
I’m at Neuralift, so this is the bit where I’m not pretending to be an arms-length observer but we’ve thought about this exact problem and the way we approach it is, I think, what most performance teams actually want when they hear “deep learning for marketing.”
The mechanics, briefly:
- For any given segmentation run we might actually train roughly 6 to 7 deep learning models, iterating until the latent space converges. Convergence here means the embedding stabilises… two equivalent customers land near each other in the space regardless of the random seed you started with. That’s the point at which you trust the segments.
- Every user ID in the source data lands in exactly one latent segment. Each segment is essentially a behavioural fingerprint, encoding traits and patterns therein. An output segment essentially says this group behaves alike in the ways that matter, and the model can show you how and why.
- The output is a range (typicall between 6 and 40 depending on the use case) of net-new segment IDs, segment names, and the IDs therein, Each segment is anartifact you can ship to Meta, TikTok, Google or wherever your lookalike model is going to run.

For the more advanced customer, looking to squeeze even further performance and precision out of the segments, it’s worth noting that every member of every discovered cluster also comes with its distance-to-centroid.
And that distance is genuinely useful in practice. The customer right at the centre of a cluster is the most archetypal version of that segment… they’re the cleanest expression of whatever pattern the model has surfaced. A customer at the edge is technically still in the segment but they’re more of an edge case, in the segment by a thread. The closer you sit to the centre, the more prototypical a member you are. Which is exactly the kind of dial you want when you’re trying to hand Meta the highest-precision version of your audience.
In practical terms what that means is it means you don’t actually have to ship the whole segment and instead you could choose to just ship the top 5,000 customers closest to the centroid and hand Meta that pen instead of a paintbrush. This is quanitifiable edge.
Why this matters at the bidder layer
There’s one last reason to care about this beyond the immediate CPA win, and it’s about what happens once your seed lands at the bidder.
Modern ad platforms (Meta Advantage+, Google Performance Max, Amazon Performance+, TikTok Smart+, every DSP worth its salt) are running ML-driven bidding and optimisation under the hood. The whole pitch of those systems is that they learn what’s working from the data your campaign feeds back into them… clicks, conversions, basket sizes, whatever you’re optimising towards. The catch is that the signals coming back are inherently noisy, and the platforms put serious engineering effort into smoothing them out so the optimisation has any hope of learning something useful.
When you’re sending in fuzzy seeds, the conversions coming back from the campaign are a much noisier signal, which means the platform has to work harder to figure out what’s actually working. Performance ramps up more slowly and your budget gets spread across a fuzzier definition of “people who look like your customers”. When your seed is tight and coherent like the ones we generate at Neuralift, the signal coming back is much cleaner, performance ramps up faster and the platform’s optimisation lands on the people who matter sooner. Precision at the very beginning when defining the seed(s) compounds through every layer of the activation stack!
This connects back to a point I made a few weeks ago about the four-layer marketing stack… the systems that win in performance marketing are the ones where good data foundations feed deep learning, deep learning feeds clean activation, and clean activation feeds the RL loops that are actually allocating the budget. The seed is the joint between layers two and four.
Low-hanging fruit
I think this is one of the most under-appreciated, lowest-effort wins available to a performance marketing team in 2026. You don’t have to rip out your stack. You don’t have to retrain your team on a new platform. You don’t have to negotiate a new clean room agreement. You just need a better seed, and the deep learning to produce it on data you already have.
The platforms have been telling you for years that the seed is the lever. The published numbers say the same thing. The only reason most teams haven’t acted on it is that the right tooling didn’t exist outside the Pinterest-and-Meta-scale teams that build their own. That’s no longer true.
Fix the seed and watch the rest of the funnel start behaving better!