Skip to content

Wasted Ad Spend  ·  Overall signals

What are common mistakes that cause digital ad spending to go to waste?

Seven recurring mistakes cause most wasted digital ad spend: broad match without negative keywords, conversion tracking that under-counts orders, accepting platform recommendations blind, combining branded and non-branded in one campaign, never testing the landing page, missing negative-audience layers, and skipping offline conversion imports. Fix them in order, tracking first, and the first three steps recover 60 to 80 percent of the leak.

Why these mistakes survive in six-figure accounts

Most of these mistakes look like sensible defaults when a founder or a junior media buyer sets the account up. The platforms reward each one with a higher optimization score, which is why they persist.

Read them in order. Fix in order. The first three account for most of the leak in a typical Shopify or service-business account.

Broad match running without a negative-keyword discipline

Broad match is the default in any new Google Ads search campaign and the only match type Performance Max uses under the hood. It learns from your conversion data, your landing pages, and the queries that show intent. With no negative-keyword list and no review cadence, it learns the wrong lessons fast.

The fix lives in the search terms report. Filter to the last ninety days, sort by impressions descending, and read the top one hundred queries. Push everything irrelevant into a shared negative-keyword list at the account level. Add a recurring calendar block, weekly for an account spending over fifteen thousand a month, monthly for everything else. The list is never finished.

Conversion tracking that under-counts the actual outcome

On Shopify, the default Google Ads tag and the default Meta pixel both miss orders. Browser-side pixels lose between fifteen and forty percent of conversions to ad blockers, iOS privacy settings, and Safari ITP. Server-side conversion tracking, properly de-duplicated with the browser pixel, closes most of that gap.

The result of under-counting is that the algorithm optimizes against incomplete data. Campaigns that look weak are often the strongest. The Tracking Stack reference covers the exact de-duplication contract between the pixel and the server event. If reported conversions sit more than five percent below Shopify orders, the tracking is the first thing to fix. Every downstream optimization depends on it.

The pattern I see most across lead-gen accounts is tracking that feeds Google the wrong signal. Most accounts count every phone call as a conversion. Picture ten calls in a week. Four are wrong numbers. Two are hangups inside thirty seconds. Four are real prospects. Google optimizes against ten when only four were buyers. The fix is lead-tracking software that imports only the qualified calls into the conversion column.

Accepting the recommendations tab without reading it

The optimization score is a sales tool, not a performance tool. The recommendations tab will tell you to raise budgets, add broad match keywords, opt into Display expansion, and turn on auto-applied recommendations. Each one of those increases Google’s revenue. Most of them do not increase yours.

The fix is a standing rule: nothing from the recommendations tab gets applied without a documented reason. Turn off auto-applied recommendations under settings. Read each suggestion. Apply the ones that match the strategy. Dismiss the rest. A founder who applies every recommendation for six months ends up running a campaign structure that Google designed, not one that fits the business.

Branded and non-branded queries inside one campaign

A campaign that mixes brand terms and category terms reports a ROAS that is the weighted average of both. The brand terms convert at four to six times the rate of category terms, so the blended number looks healthy while the non-branded spend quietly loses money.

The fix is structural. Split branded search into its own campaign with its own budget. Set non-branded search in a separate campaign with conversion-based bidding. Now the reported ROAS on each campaign tells the truth, and budget decisions become honest. This single change often surfaces the real source of waste inside the first week.

Never testing the landing page

Ad accounts get audited constantly. Landing pages almost never do. A campaign with a three-percent click-through rate and a 0.6 percent conversion rate is not a campaign problem. It is a landing page problem. Every additional dollar spent against that page is waste.

The fix is a quarterly test rotation on the top three highest-spend landing pages. Hero copy, primary call to action, social proof placement, and form length are the four variables that move conversion rate most for service businesses. Product page templates, above-the-fold imagery, and shipping policy visibility are the equivalents for Shopify. Without a testing cadence, the conversion rate is whatever the page happened to do on launch day. The page patterns repeat across the home and furniture vertical, and for legal practices the lead-form variables that move the close rate live on the law-firm side of the practice.

No negative audiences layered onto prospecting

Most prospecting campaigns spend a meaningful share of budget showing ads to existing customers, recent purchasers, and current site visitors. That spend lifts reported ROAS because those audiences convert from other sources anyway. It does not buy incremental revenue.

The fix is a negative-audience layer on every prospecting campaign. Exclude purchasers from the last sixty to one hundred eighty days depending on repurchase cycle. Exclude email subscribers. Exclude high-intent site visitors who already saw retargeting. The prospecting number will look worse on paper for two weeks. The incremental revenue from the budget will be higher within four.

Skipping offline conversion imports on lead-gen accounts

Service businesses and high-consideration brands have a lead-form click, then a sales process that decides which leads become revenue. If only the form submission gets reported back to Google, the algorithm optimizes for cheap leads, not closed deals. The campaigns that produce the highest-quality leads often look the most expensive in the interface.

The fix is offline conversion imports. Push closed-won values back into Google Ads at the keyword and campaign level on a weekly cadence. The bidding algorithm then optimizes against revenue, not lead volume. For a lead-gen account spending over ten thousand a month with no offline imports running, this is usually the single highest-impact change available.

The account-layer settings that keep causing all seven

Campaign settings control what one campaign does. Platform configuration controls what every campaign in the account believes is true. A wrong location toggle wastes one campaign’s budget. A wrong conversion definition teaches every campaign to optimize toward the wrong outcome for as long as the configuration stands. Seven settings sit above the campaign layer and cause the mistakes above to keep returning after they are fixed.

The conversion library. Open Tools, then Conversions, in Google Ads, or Events Manager in Meta, and list every active action with its primary or secondary status. Two leaks live here. Duplicate conversions firing for the same event, usually because the tag was placed once through Google Tag Manager and again through a Shopify-native pixel. And primary conversions that include email signups, scroll depth, or video views next to purchases, which teaches the model that a signup and an order are worth the same. Deduplicate first, then demote every non-revenue event to secondary.

The attribution model. Google defaults new conversion actions to data-driven attribution. Older accounts may still run last-click. Meta defaults to seven-day click and one-day view. The leak appears when the model disagrees with how the buyer buys. A considered-purchase brand with a thirty-day research window undercounts paid social on last-click. A direct-response brand converting in-session overcounts Display on data-driven. Under three hundred conversions a month, data-driven does not have the volume to train accurately and last-click is the safer floor.

The conversion window. Click-through and view-through windows are editable inside each conversion action. The longer the window, the more credit the platform claims for conversions that closed for other reasons. Pull the path-length report in GA4. If ninety percent of conversions close within seven days of the click, a thirty-day window is inflating reported conversions and training the bid model to chase credit. Shorten the window to the real close pattern, then watch reported conversions fall and cost per real conversion correct itself.

Account-level negative lists. The shared library in Google Ads holds negative keyword lists that apply to every linked campaign. Most accounts have campaign-level negatives and nothing at the account level, so every new campaign launches with zero protection. Build one master list per account: competitor brands you have decided not to bid on, employment terms like jobs and salary, free-intent terms on a paid offering, and geography outside the service area. Apply it to every campaign by default, and set the Meta equivalent through placement exclusions and brand-safety filters.

MCC structure. Shared resources, conversion imports, and analytics links flow through the manager account. A flat structure with no MCC means every account configures conversions, audiences, and linked products independently, which produces drift between accounts inside the same business. One MCC holding the Google Ads account, the Merchant Center account, and the GA4 property is the floor for a single brand. A parent MCC with sub-accounts per brand keeps one brand’s conversion definitions out of another’s.

The GA4 link. Two errors recur. A property connected with auto-tagging disabled, which strips the gclid and breaks the session join inside GA4. And GA4 conversions imported into Google Ads alongside native conversions for the same event, which double-counts. Confirm auto-tagging is on in GA4 property settings, and confirm only one source per event is marked primary in the conversion library.

Customer-match refresh cadence. Customer lists decay every week they sit static. New customers join the CRM, old customers churn, email addresses change. A list uploaded twelve months ago still appears in the targeting panel while its match rate and conversion rate have both halved. Sort the audience manager by upload date. Anything past ninety days needs a refresh. Anything past one hundred eighty days needs replacement, with the new list replacing the stale one rather than stacking beside it.

None of these produce a red flag in the campaigns view. That is what makes them expensive. Run them on the first of every quarter, and run the customer-match refresh on the first of every month.

The fix order, with what each step recovers

Every fix below works in isolation for about a week. Then it breaks. Negatives get re-added by broad match. Audience signals get overwritten by the next platform recommendation. A landing-page rebuild fails to move CPA because the conversion API was double-counting the whole time. The sequence below is the order I work an account on intake. Each step protects the work of the next one.

Step one, tracking integrity. Four to eight hours, recovers 15 to 30 percent of the leak. Walk the de-duplication contract in the Tracking Stack reference end to end. Verify the browser pixel and the conversion API fire the same event ID on every purchase, and that enhanced conversions pass hashed email through the data layer. Check the diagnostics tab in Google Ads and Events Manager in Meta for event-match quality below seven. Most accounts I open have one of three failures: the conversion API double-counting, the pixel firing twice on the thank-you page, or mismatched attribution windows between platforms. Verify by comparing platform-reported purchases against Shopify orders for seven days. The gap should sit inside three percent. If it does not, do not move to step two.

Step two, search-term negatives at the account level. Three to five hours, recovers 10 to 25 percent. Read the top two hundred queries by spend over ninety days and push everything irrelevant into three account-level lists: occupational queries, informational queries that will not convert, and competitor terms you have decided against. For Performance Max, request account-level negatives through the rep or the API. Re-pull the report two weeks later. Irrelevant queries should sit below ten percent of impressions.

Step three, consolidate campaign sprawl. Six to ten hours, recovers 20 to 35 percent. Most accounts carry three to six times as many campaigns as they need. Each one fragments conversion data, starves the algorithm of signal, and creates bid-strategy conflicts. Consolidate to one Performance Max campaign per margin tier, one Search campaign per match-type strategy, and a single Shopping campaign if Performance Max is not absorbing it. Pause every campaign that has not produced ten conversions in thirty days, and every ad group under a Quality Score of five that nobody has touched in ninety days. Branded search gets its own campaign with a hard daily cap. Display and Discovery get paused unless there is a written reason they exist.

Step four, layer audience signals. Two to four hours, recovers 5 to 15 percent. With clean tracking, clean negatives, and a clean structure, the algorithm finally has something to learn from. Build Customer Match lists from the email and SMS file, segmented by purchase recency at zero to ninety days, ninety-one to three-sixty-five, and lapsed. Add cart abandoners from the last sixty days and high-AOV buyers where the data supports it. Upload with hashed email plus phone. Match rates should clear forty percent on Google and fifty percent on Meta. Lower than that points back at step one.

Step five, rebuild the highest-spend landing page. Eight to twenty hours, recovers 10 to 30 percent. Match the headline to the ad’s strongest copy variant, cut form fields to the minimum the offer needs, compress images, and defer any third-party script that is not load-bearing. Confirm the mobile PageSpeed score clears seventy, then watch conversion rate across fourteen days of stable traffic. A rebuilt page on relevant traffic should clear two percent for ecommerce and three percent for service.

Step six, realign bid strategy. One to two hours, recovers 5 to 15 percent. Set target ROAS to the contribution-margin number rather than the platform-suggested number. Set target CPA on lead-gen to a third of customer lifetime value. Pull manual CPC off branded search only after step three has separated it. Fourteen days later, cost per conversion should sit inside ten percent of target. If it does not, something upstream is still wrong.

Where to start

Fix mistake two first. Tracking is the foundation everything else reads from. Mistake one is the largest dollar leak in most Search and Performance Max accounts. Mistake four reveals whether the reported numbers are real.

Run the Wasted Spend Calculator before step one for a directional dollar estimate, and again after step three to see how much of the recovery has landed. Run the free 25-page setup audit against the account to find which mistakes are live in the current build.

If any step takes more than double its time estimate, the account has a deeper issue the standard sequence will not fix on its own. The accounts that stay clean treat the search-terms report and the tracking audit as recurring calendar items rather than one-time cleanups. Closing two of these seven changes the read on an account inside a month. A thirty-minute call is the right move when the list runs longer than the calendar allows, and /wasted-ad-spend/ indexes the rest of the diagnostics.

Want this diagnosed in your account?

Same diagnosis,
run on your account.

Thirty minutes on the phone. I look at your spend, your tracking, and your search-term reports before the call. You walk out with a clear list of what is leaking and what to fix first.

Book a Call