Hi there,
Thanks for reaching out! Happy to give you some initial thoughts on this. It's a really common problem you're having, and honestly, a super frustrating one. You set a budget because you want to spend it, and when the platform doesn't play ball, it feels like you're leaving money on the table.
The short answer is that this is almost never a technical glitch. Meta isn't broken. When it's not spending your budget, it's actually sending you a really important signal about your campaign. It's basically telling you, "I can't find enough of the right people, at the right price, who are likely to do the thing you've asked me to do, within the rules you've set for me." So, our job isn't to force it to spend, but to understand what's holding it back and fix the underlying strategy. It's usually a problem with your audience, your bidding, or your ads themselves. We'll walk through how to figure out which one it is.
TLDR;
- Underspending isn't a bug; it's a signal. The algorithm is telling you it can't find enough of the right people within the constraints you've set (audience, bid, ad quality).
- The most likely culprit is your audience being too small or too restrictive. The algorithm runs out of people to show ads to very quickly.
- Your bid strategy (like a Cost Cap set too low) can also strangle your campaign. You might be telling Meta to hit a target that's simply unrealistic for your audience and ads.
- The most important piece of advice is to diagnose the problem systematically instead of just increasing the budget. Start by broadening your audience, then check your bid strategy, and finally test new ad creative.
- This letter includes a diagnostic flowchart to help you pinpoint the issue and an interactive calculator to estimate how your audience size might be limiting your spend.
We'll need to look at why Meta is holding back...
Right, first things first. Let's reframe the problem. Meta not spending your money is actually far better than it wasting your money on the wrong people just to hit a daily cap. Think of the algorithm as a (mostly) loyal employee. You've given it a task (get me message conversations) and a budget ($280/day). But you've also given it a set of rules – the audience you're targeting, the ads you're running, and maybe a bid strategy. Its job is to work within those rules. If it can't find enough people who fit your targeting *and* are likely to actually start a conversation after seeing your ad, it will simply stop spending. It's protecting you from bad performance.
Every time your ad is eligible to be shown, it enters a massive, split-second auction against thousands of other advertisers trying to reach a similar person. The winner isn't just the highest bidder. Meta looks at your bid, the "estimated action rate" (how likely the person is to take the action you want, like messaging you), and your ad quality. If your combination of these factors is weak, you lose the auction, and your ad isn't shown. If this happens consistently throughout the day, your budget doesn't get spent. The fluctuation you're seeing – spending normally one day and dropping the next – is often down to changes in the auction environment. Maybe a big competitor with better ads just ramped up their budget, pushing you out of the auctions you were previously winning.
So, blaming a 'bug' is the easy way out. The real work is in figuring out which part of your strategy is causing you to lose those auctions. Is your audience too small? Is your bid too low? Are your ads just not compelling enough? We're going to break that down. To make it a bit clearer, here's the thought process I'd go through to diagnose this exact issue.
I'd say you've probably got an audience problem...
In my experience, about 80% of the time, this issue comes down to the audience. You're either targeting too few people, or the people you are targeting aren't the right fit. At a $280/day budget, you need a reasonably large pool of people for the algorythm to work its magic. If your potential reach is only, say, 100,000 people, Meta will burn through the most active users very quickly and then struggle to spend the rest of the budget.
When I audit new client accounts, I often see the same mistakes. People get way too specific with their detailed targeting. They'll layer ten different interests on top of each other, thinking they're creating a 'hyper-targeted' audience. What they're actually creating is a tiny pond where the algorithm has no fish to catch. Remember, you want to give Meta's AI some room to breathe. Its job is to find the buyers *within* the audience you give it. If you make that audience too small, you're tying its hands.
A classic mistake is picking interests that are too broad or don't really signal intent. For instance, if you're selling software to eCommerce store owners, targeting the interest "Amazon" is a terrible idea. Why? Because millions of people who just *shop* on Amazon are in that audience. It tells you nothing. You're better off targetting interests like "Shopify", "WooCommerce", or pages of well-known eCom experts. You have to think about what stuff people in your target audiance *actually* like and follow that separates them from the general population.
This is the priority list I generally use for testing audiences, from coldest to warmest. For a budget like yours, you should probably be focusing your efforts in the 'ToFu' (Top of Funnel) section to ensure your audience pool is large enough.
| Funnel Stage | Audience Type | Typical Use Case & Priority |
|---|---|---|
| ToFu (Top of Funnel - Cold Audiences) | ||
| 1 | Detailed Targeting | Your starting point. Test broad interests, behaviours related to your customers' pain points. Aim for audiences of 1M+. |
| 2 | Lookalike Audiences (LALs) | Once you have enough data (>1000 in a source audience is ideal), create LALs of your best customers or leads. Start with 1% and test wider (3%, 5%) to increase reach. |
| 3 | Broad Targeting | Only use this once your pixel is very seasoned (500+ conversions). You target by age/gender/location only and trust the algorithm. Can work incredibly well but needs data. |
| MoFu (Middle of Funnel - Warm Audiences) | ||
| 4 | Video Viewers | Retarget people who have watched a significant portion of your video ads (e.g., 50%+). Good for warming up colder traffic. |
| 5 | Social Engagers | People who have liked, commented on, or saved your posts/ads on Instagram or Facebook. Can be a large audience but quality varies. |
| 6 | Website Visitors | Retargeting all website visitors from the last 30-90 days. Often too broad, but useful if traffic is low. Exclude converters. |
| BoFu (Bottom of Funnel - Hot Audiences) | ||
| 7 | Add to Carts / Initiated Checkouts | A high-intent audience. These people are very close to buying. Retarget them with urgency or an offer to close the deal. (Or in your case, maybe people who visited a specific page). |
| 8 | Previous Customers | Your best audience for repeat purchases or upselling. Use them to create your highest-quality Lookalike audiences. |
The other side of this is retargeting. If you're trying to spend a significant portion of your budget on a retargeting campaign but your website only gets a few hundred visitors a day, the audience will be far too small and you will definately see underspending. The algorithm can only show ads to people in that audience, and it also has to respect frequency caps so it doesn't annoy them. Use this little calculator below to get a rough idea of how big your retargeting audiences might be based on your monthly traffic.
You probably should check your bidding strategy...
Okay, so if your audience is definitely big enough, the next place to look is your bidding strategy. This is where you tell Meta how you want it to spend your money in the auction. A lot of people, in an attempt to control costs, actually end up telling the algorithm not to spend money at all.
There are a few main options, but let's focus on the big ones:
- Highest Volume (formerly Lowest Cost): This is the default and, for most advertisers, the best place to start. You set a budget, and you tell Meta, "Go get me the most message conversations you can for this budget." It will bid what it needs to bid to win auctions and get you results. If your campaign is underspending with THIS setting, the problem is almost 100% your audience or your ads, not the bid.
- Cost Per Result Goal (formerly Cost Cap): This is where things get tricky. Here, you tell Meta, "Get me message conversations, but I refuse to pay more than, say, $10 for each one." It sounds smart, right? You're controlling your costs. But here's the catch: if Meta's algorithm looks at the available auctions and determines that the average cost to get a conversation is currently $12, it simply won't bid for you. It's following your orders. You've told it not to pay more than $10, so it sits on the sidelines. If your cost cap is too ambitious or unrealistic for your market, your campaign will constantly underspend.
- Bid Cap: This is even more restrictive. You're telling Meta the maximum amount you're willing to bid in any single auction. This gives you a lot of control but requires a deep understanding of what a winning bid actually costs. Most of the time, this just leads to massive underspend because you're consistently bidding too low to win.
My advice is almost always to start a new campaign with 'Highest Volume'. Let it run for a week or two. This allows Meta to gather data and establish a baseline Cost Per Result for you. If, after a couple of weeks, your average cost per message is $15, you now have a real-world benchmark. At that point, you *could* try switching to a 'Cost Per Result Goal' of around $15-18 to help control volatility. But setting a cap of $5 from day one is just a recipe for frustration and zero delivery.
You'll need to work on your creative and offer...
So let's say your audience is huge and you're using the 'Highest Volume' bid strategy, but you're *still* not spending your budget. Now we have to look at the hardest part to get right: your ads and your offer.
As I mentioned, Meta's auction relies heavily on the 'estimated action rate'. This is its prediction of how likely a user is to engage with your ad and complete the objective. If your ads are getting ignored – low click-through rates (CTR), no engagement – Meta learns very quickly that people don't find them relevant. It will then show them less and less often, favouring other advertisers whose ads are performing better. The result? Underspend.
You can't just put up a generic picture and say "Message me". You have to stop someone from scrolling. Your ad needs to speak directly to a problem they have. Forget your company and what you sell for a second. Think about your ideal customer. What's the nightmare scenario they're trying to avoid? What's the dream outcome they're looking for? Your ad needs to live in that space. We use a simple framework for this called Before-After-Bridge.
- Before: Describe their current, painful reality. "Tired of spending hours searching for a reliable electrician, only to get ghosted or overcharged?"
- After: Paint a picture of the ideal future state. "Imagine getting a qualified, trusted electrician to your door in under an hour with transparent pricing, just by sending a quick message."
- Bridge: Introduce your service as the simple way to get from the 'Before' to the 'After'. "That's what we do. Tap 'Send Message' to get a free, instant quote for your job right now."
This is so much more powerful than "Local Electrician Services. Contact us today." One sells a solution to a frustration; the other just sells a commodity service.
The offer itself is just as importent. "Send a message" isn't a very compelling offer on its own. It's high-friction for the user. They have to think about what to type, they might feel awkward starting a conversation. You need to de-risk it and add value. Change your Call to Action to something that promises a tangible benefit.
- "Message us for a free quote"
- "Message us to get 10% off your first order"
- "Message us to see our secret menu"
- "Message us your style preference and our stylist will send you 3 free recommendations"
You need to give them a really good reason to start that conversation. If your offer is weak, your estimated action rate will be low, and Meta will penalise you for it in the auction with less delivery. We've seen firsthand how a powerful offer can transform results. I remember one B2B client in the environmental controls industry where we reduced their cost per lead by 84% by overhauling their strategy. A better offer is a game-changer; moving away from a generic "Request a Demo" to something of higher value can completely change the economics of a campaign.
This is the main advice I have for you:
Right, that was a lot of theory. Let's make it actionable. Here is a step-by-step plan you can follow to diagnose and fix your spending issue. Don't do everything at once. Make one significant change at a time, let it run for 3-4 days, and observe the impact on your daily spend and performance metrics. I've detailed my main recommendations for you below:
| Area to Investigate | Diagnosis Question | Recommended Action | Expected Outcome |
|---|---|---|---|
| 1. Audience | Is my potential reach below 1 million people? Is my frequency climbing above 3-4? | Duplicate your ad set. In the new one, add 3-5 new, broader but still relevant interests. Or, if you have enough data, test a 1-3% Lookalike of your best customers. | Daily spend should increase and become more stable. This will give the algorithm more room to find users. |
| 2. Bidding Strategy | Am I using a "Cost Per Result Goal" or "Bid Cap"? | Switch your campaign's bid strategy to "Highest Volume". Let it run for at least 7 days without touching it. | The campaign should start spending the full daily budget. It will also establish your true, market-rate Cost Per Message. |
| 3. Ad Creative | Is my Click-Through Rate (CTR) below 1%? Is engagement (likes, comments) very low? | Launch 3 completely new ads. Test a video ad, a carousel ad, and a new static image with different copywriting using the Before-After-Bridge framework. | Improved CTR and relevance scores. This makes you more competitive in the auction, allowing for more consistent delivery and often a lower cost per result. |
| 4. Offer | Is my Call to Action simply "Send Message"? | Update your ad copy and headline to include a compelling reason to message you (e.g., "Message for a Free Quote", "Message for 10% Off"). | Higher conversion rate from impression to message. This directly improves your 'estimated action rate' and helps you win more auctions. |
Ultimately, all of this work is about improving your Return on Ad Spend (ROAS). Even if you get the campaign to spend, it's not a success unless it's profitable. Once you have stable delivery, you need to track how many of those message conversations turn into actual customers. Use the calculator below to see how changes in your ad spend and the revenue it generates affect your overall return.
When it's time to call in an expert...
As you can probably tell, there are quite a few moving parts here. Working through this checklist will solve the problem for most people, but optimising and scaling from there is where the real expertise comes in. It's one thing to get your ads to spend the budget; it's another thing entirely to make sure every one of those dollars is spent as efficiently as possible to grow your business.
We've worked with dozens of businesses, from eCommerce stores seeing a 1000% ROAS to B2B SaaS companies getting leads for $22 on LinkedIn, and this kind of systematic diagnosis is at the core of what we do. We've taken on accounts that were struggling to spend a few hundred dollars a day and scaled them to thousands, profitably. It's about having a structured testing process and the experience to interpret the data correctly and make the right decisions quickly.
If you've tried these steps and are still stuck, or if you'd just rather have an expert pair of eyes take a look under the hood, we offer a completely free, no-obligation strategy session. We'll go through your ad account with you, pinpoint the exact bottlenecks, and lay out a clear action plan for you. No hard sell, just genuinely helpful advice.
Hope this helps!
Regards,
Team @ Lukas Holschuh