Plenty of Clicks, Almost No Sales
The campaign is running at $300 a day. CTR is a healthy 2.4%. The landing page is getting traffic, the creative is pulling engagement. But purchases are trickling in at a rate that makes the ROAS math look like a mistake.
Everything gets checked: targeting, creative, load speed, copy. Nothing obvious. The usual suspects get blamed - iOS privacy changes, an unusual auction period, a competitor surge. The account gets restructured. A new audience gets tested. Another creative gets launched.
The campaign objective still says “Traffic.”
Meta ran that campaign exactly as instructed. It went into the auction and found people with a history of clicking on links - not people with a history of buying things. People who click. That population is real, abundant, and cheap. The auction for “link-clickers” is less competitive than the auction for “buyers,” which is why the CPCs looked great in the dashboard. Cheap clicks, minimal revenue. The campaign did its job perfectly. The job was wrong.
What Meta’s Algorithm Is Actually Doing
Meta’s delivery system is a prediction engine. When you launch a campaign, you are not just selecting a category - you are telling the algorithm which behavioral signal to optimize toward. It then calibrates bids and delivery across billions of impression decisions to find people who are statistically likely to take that specific action.
Traffic objective: finds people who click links. Engagement objective: finds people who like, comment, and share. Conversions with a Purchase event: finds people who have demonstrated purchase behavior.
These are not the same population with different labels. They are genuinely different people with different behavioral profiles. The “link clicker” archetype is well-documented in advertising data - someone who engages with ads habitually but rarely converts. They inflate your click metrics, run up your spend, and never appear in your Shopify orders.
This is why changing targeting or creative on a Traffic campaign rarely fixes conversion performance. You are not targeting the wrong people inside a conversion-oriented system. You are running an entirely different system, one that is optimized for an outcome you do not actually want.
The Objective Hierarchy - And Where Revenue Lives
Meta organizes campaign objectives into three tiers. Understanding what each tier is actually buying in the auction is the foundation of everything else in account structure.
The dividing line is not just what the campaign does - it is what it tells Meta to bid for. A Conversions campaign bids for purchase-intent behavior. A Traffic campaign bids for something much cheaper and much less useful if you sell products.
Most founders running ecommerce or direct response should be in the Conversion column. If you are selling something and your campaign objective is Traffic, you have a fundamental mismatch between what you want and what you are instructing Meta to find.
Three Specific Ways Founders Get This Wrong
Running Traffic instead of Conversions
The most common form. Traffic campaigns get used because they are intuitive - “I want people to visit my site” - without recognizing that Meta interprets “visit my site” as a fundamentally different optimization target than “buy from my site.”
The one legitimate exception: if your pixel lacks sufficient purchase event volume, you do not have enough signal for a Conversions campaign to train effectively. The threshold is roughly 50 conversion events per ad set per week - the same threshold that governs the learning phase. In that case, Traffic with Landing Page View (not just Link Clicks - always select Landing Page View when it is available) can bridge the gap while you build volume. This is a temporary measure, not a strategy. The goal is to graduate to Conversions.
Optimizing for the wrong conversion event
You can run a Conversions campaign and still mis-specify the signal. If you optimize for Add to Cart instead of Purchase because it generates more weekly volume, you are training Meta to find people who add items to carts - a different behavioral profile than someone who completes a purchase. Add to Cart optimized campaigns consistently produce lower purchase rates than Purchase-optimized campaigns, because the algorithm is targeting people who browse with intent rather than people who buy.
The correct approach: optimize for the furthest-downstream event that still generates roughly 50 weekly conversions per ad set. Work up the funnel only if you genuinely lack volume. Purchase › Initiate Checkout › Add to Cart › View Content. Do not treat Add to Cart as a permanent optimization strategy because the reported CPAs look more favorable - lower CPA there reflects a lower bar, not better performance.
Overcounting with 7-day view attribution
Meta’s default attribution window is 7-day click and 1-day view. The 1-day view component credits Meta for conversions where someone saw an ad without clicking, then converted within 24 hours. For accounts running high impression volume against warm audiences, this inflates reported conversions significantly and pollutes the optimization signal.
For most direct-response accounts, 7-day click only is the cleaner setting. It reduces reported conversions in the dashboard - which looks bad - but improves the quality of the behavioral signal you are training the algorithm on. It also makes cross-channel comparison possible. If you are trying to reconcile Meta performance with other platforms, view-through attribution creates a double-counting problem that makes attribution across channels mathematically incoherent.
How the Math Inverts on “Cheap” Clicks
Traffic campaigns reliably produce lower CPCs than Conversions campaigns. The gap is real and it creates a misleading efficiency narrative - the account looks like it is performing well because cost-per-click is low.
The cost per click is not the cost that matters. The cost per purchase is.
The “expensive” campaign produces customers at nearly half the cost. The math inverts because the populations are different. You are paying less per person on Traffic campaigns because those people are less likely to buy anything.
This interaction also runs into bid strategy. Your Meta bid strategy sits on top of the optimization signal that your campaign objective creates. Lowest Cost on a Conversions campaign is bidding into a fundamentally different auction than Lowest Cost on a Traffic campaign. The objective choice is the foundation everything else builds on - and a wrong foundation means the bid strategy, audience, and creative are all working in service of the wrong goal.
Auditing Your Campaigns Right Now
Open Ads Manager. For each active campaign, run through this list.
- Click into Campaign settings and note the objective. Any Traffic or Engagement campaign that is supposed to be driving purchases is a problem.
- For Conversions campaigns, click into each Ad Set and check the optimization event under “Optimization and Delivery.” If you are seeing Add to Cart or View Content when you have purchase volume, move it down the funnel.
- Check the attribution window in the same Ad Set settings panel. If it includes 1-day view and you are running broad prospecting to large audiences, that view-through component is inflating your reported numbers.
- Cross-reference reported conversions in Ads Manager against actual orders in your store for the same period. A large gap suggests view-through overcounting or pixel misfiring.
- Check whether any Campaign is set to “Advantage Campaign Budget” (CBO) while the underlying Ad Sets have conflicting objectives - this is less common but worth confirming the structure is coherent.
Before rebuilding anything around Conversions campaigns, confirm your pixel event signal is solid. A Conversions campaign trained on a broken or low-quality pixel is optimizing toward noise. Check your Meta pixel event match quality first - Event Match Quality below 7 or misfiring events will undermine the objective fix before it starts.
When Traffic and Engagement Campaigns Are Legitimate
A blanket rule against non-conversion objectives misses real use cases. The question is not whether to use them - it is whether you have a defensible reason for each one.
Traffic with Landing Page View is appropriate for content amplification - pushing people to a blog post, a resource, or a tool where the goal is consumption rather than immediate purchase. It is also the correct temporary proxy when building pixel purchase event volume on a new product or account. Use it intentionally, not by default.
Engagement campaigns serve a real purpose for social proof seeding. An ad with zero likes and comments reads as unvetted to cold audiences. If a creative has strong conversion potential but no social signals yet, a brief Engagement campaign can prime the post before switching the objective. Cold audiences respond to social proof as a trust proxy - the same creative with 3,000 comments performs differently than the same creative with none. This is a short-term technique, not a core strategy.
Video Views campaigns make sense for content designed to warm an audience before a retargeting play. Someone who watched 75% of a two-minute brand video is a qualitatively different prospect than someone who has never encountered the brand. Building that warm segment via Video Views and then hitting it with a Conversions campaign is a legitimate retargeting funnel input - as long as the Video Views campaign is explicitly serving that purpose, not masquerading as a conversion driver.
Every campaign should have an explicit, defensible reason for its objective. “I wasn’t sure what to pick” and “the default was Traffic” are not reasons.
Making the Switch Without Losing Ground
Do not change the objective on a live campaign. Changing the objective on a running campaign disrupts its delivery history and effectively resets the learning phase - you lose the optimization data the campaign has accumulated. The correct approach is a clean migration:
- Duplicate the campaign. Keep the original running while you configure the duplicate.
- Change the objective on the duplicate to Conversions. Set the correct optimization event - Purchase if you have the event volume; the next-deepest event if you do not.
- Set a conservative starting budget. Let the Conversions campaign enter and exit the learning phase before scaling. It needs to generate those 50 weekly optimization events to stabilize delivery. Scaling too fast before learning exits will extend the unstable period and inflate costs.
- Run both campaigns in parallel for one to two weeks. Compare cost per purchase, not cost per click.
- Pause the original once the Conversions campaign shows stable delivery. Do not delete it - pause it and note the date, in case you need to reference the historical data.
One note if you are running Advantage+ Shopping campaigns alongside manual campaigns: ASC always uses a Conversions objective by default. It is one of the structural choices Meta handles automatically in that format. The objective mismatch problem tends to concentrate in manual campaigns where founders made the selection themselves - often during initial account setup, when the implications were not yet clear.
Fix the objective, fix the signal, and the rest of your account structure actually has a chance to work. The targeting decisions and the creative testing only matter if the algorithm is being trained toward the right outcome in the first place. Everything upstream of the campaign objective is irrelevant if the objective is wrong.
Frequently Asked Questions
Running campaigns that look healthy but don’t convert?
We audit Meta accounts, fix the structural issues, and build the campaigns that actually drive revenue.
Talk to Noble Growth →