← Writing

I admit I paused a $45K Meta campaign. Here's why.

The setup

A bootstrapped fitness app founder came to me with a straightforward ask: help us scale with paid ads.

On paper, everything looked promising:

  • Budget: $1,500/day
  • Creatives: 40+ variations ready to test
  • Target: $15 cost per trial
  • Foundation: Organic traction, positive unit economics, loyal user base

The goal was clear. The resources were there. We got to work.

What we did

We improved tracking. iOS 14.5 compliant. Proper conversion events firing. We set up blended measurement across four platforms (Meta, App Store Connect, RevenueCat, Mixpanel). No single source tells the whole truth.

Quick finding: Meta was only capturing some of the actual conversions compared to internal tools. Duh. Attribution gaps are real.

We tested audiences. Age segments. Geographic markets (US, UK). We ran through creative concepts methodically.

The progress

It worked. Kind of.

CPT dropped from $60-90 at launch to $30-40 within a few weeks. I expected more.

Then it stopped.

The wall

$30 CPT. That’s where we got stuck.

40+ creatives tested. The algorithm concentrated 90% of spend on two “winners.” Neither hit our $15 target.

Here’s what we realized: at $30 CPT, every new test is expensive.

  • Testing one creative concept properly? $300+ before you get signal.
  • Each test takes 7 days because of trial windows. Conversion to paying is affected by many elements.
  • The algorithm needs 50+ events per week to learn.

We had ideas though.

Influencer content. New markets. Age segment deep-dives. Direct purchase optimization.

We just couldn’t afford to test them properly at this CPT.

The other problem

Digging deeper, we found something more fundamental than campaign optimization.

Two audiences. One product.

Audience A: Enthusiasts. Already skilled. Want to train at home and need to have the right hardware. Convert well. Problem: too small. Meta can’t find them at scale.

Audience B: Beginners. Curious. Want to learn from scratch. Large market. Problem: the product experience wasn’t built for them yet.

Our best creatives attracted Audience A. But A is too niche for Meta’s algorithm to target efficiently. Audience B would click, but then churn because the app assumed too much skill.

This is a product-market-marketing fit problem showing up in ad performance.

The honest conversation

Day 25. We sat down and asked the real question:

“Should we keep spending?”

The CPT was high for us. It was also high versus industry benchmarks. Small creative tweaks weren’t going to cut costs in half. We needed structural changes.

Burning budget hoping for “maybe” signals didn’t make sense.

Sometimes “not yet” is the most honest answer you can give a founder.

What would it take?

We mapped out what would need to happen for Meta to work.

On the testing side:

  • Influencer partnerships for authentic creative
  • New markets with lower CPMs
  • Age segment optimization
  • Direct purchase flow (skip trials entirely)

On the product side:

  • Custom App Store pages for each audience
  • Separate onboarding flows based on skill level
  • Tailored content experience

One product can serve two audiences. But not with one funnel.

The outcome

We paused.

Not because Meta “doesn’t work.” The conditions for it to work weren’t in place yet.

The plan:

  1. Pause Meta spending. Stop the bleeding.
  2. Product work. Build separate funnels for each audience.
  3. Build reserves. Save budget for proper testing later.
  4. Return in 6 months. With clarity and resources to test properly.

5 lessons from this

  1. High CPT makes every test expensive. At $30 per trial, you can’t iterate fast. Testing velocity matters.
  2. Knowing what to test is different from affording to test it. We had the ideas. We didn’t have the economics to validate them.
  3. Niche products face algorithmic headwinds. Meta’s algorithm needs volume. Small audiences are harder to find profitably.
  4. Product gaps show up as ad performance problems. If your product doesn’t convert the people your ads attract, no amount of optimization fixes that.
  5. Pausing is a valid strategy. 30 days of clarity beats 6 months of expensive guessing.

Paid ads are a diagnostic tool. They tell you, fairly quickly, whether your product-market fit is strong enough for algorithmic targeting.

The wrong question: “Can Meta work for me?” The better question: “What needs to be TRUE for Meta to work?”

  • Product converts the people your ads attract
  • Creatives filter for the right audience
  • Budget supports testing at your actual CPT

You can’t optimize your way past these.

This engagement ended with a pause. But that pause came with something more valuable: a clear diagnosis and a roadmap for what to fix.

Sometimes the best outcome is knowing exactly why you’re not ready for it yet, and what to do about it.