BACK TO BLOG
TOOL HOW-TOOctober 27, 20268 min read

How to Calculate Ad Spend at Risk From Mismatched Pages

JH

By Joris van Huët

Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs

Published

2026-10-27

The short answer: if nobody can say what your mismatched landing pages cost, most of the number is sitting in two exports you already have. Build it in a spreadsheet this week. Then hand it to AdAlign. Its Growth band keeps it current for accounts spending up to €75,000 a month, from €590 a month (annual contract billed monthly, checked on 27 October 2026 on the pricing page). The definition comes from AdAlign's home page: last week's spend on live ads scoring below 5, divided by 7 and multiplied by 30. Score the biggest pairs with the free audit. The steps: pull spend per ad from Meta and Google, and attach each ad's destination. Add a score, convert the week to a monthly pace and keep the ads below 5. Total them per page, and park the unscored spend on its own line.

Disclosure: I earn a commission if you buy AdAlign through a link on this page, and this page recommends it. Every claim about AdAlign links to AdAlign's own pages.

Three things to agree before the sheet exists:

  1. The formula, worked once. For example, an ad that spent €2,450 in the last seven days runs at 2,450 / 7 x 30 = €10,500 a month. If its pair scores 4.5, all €10,500 counts. At 5.5, none of it does. The line is a cliff, not a slope.
  2. The exports you already have. Meta and Google both export spend per ad, and both tell you where each ad sends people. The sheet needs no new software.
  3. The test that it worked. Rebuild the total weekly. It falls as pages get fixed, and the unscored line shrinks as more pairs get a score.

Spend at risk is a priority list. It is not a loss figure, because some of that money still converts. AdAlign's ad QA guide calls it a simpler, conservative version of a loss estimate. The full product is in the AdAlign glossary entry.

What you need

  • Meta Ads Manager on a desktop, since export is desktop only, and analyst access or above for Ads Reporting.
  • Google Ads access to Report Editor.
  • One spreadsheet, and a score for each pair: from the free audit, or left blank as unscored.

Step 1: Pull Meta spend per ad for the last seven days

In Meta Ads Reporting, build a custom report at ad level with Ad ID, ad name and Amount spent for the last seven full days. Export it. Meta describes Amount spent as approximate while ads are running, since results can take up to 48 hours to process. If you want figures that will not move, end the window two days back.

Step 2: Attach each Meta ad's destination

Export the same ads from Ads Manager as .csv. At ad level the export carries Ad ID and Link, per the list of export columns. Join the two files on Ad ID. Now every spend figure has a page next to it.

Step 3: Pull Google cost per ad with its final URL

In Report Editor, build a table with ads and their final URL as rows and Cost as the column, for the last seven days, then download it. Google defines Cost as the total spend for all interactions. Then one trap. If a campaign runs AI Max or Performance Max with final URL expansion on, the landing pages report shows pages Google chose for you, marked in its Selected by column. Give each of those its own row.

Step 4: One row per ad

Columns: platform, ad ID, landing page URL, last-seven-day spend, status, score. A paused ad counts as zero, which is AdAlign's rule too, per its home page FAQ. Strip tracking parameters from the URLs. Otherwise the same page gets spelled two ways, and its total quietly splits in two.

Step 5: Score the pairs, or mark them unscored

Run the free audit on the pairs with the most spend, and type the overall score into the row. Leave the rest blank. A blank is not a pass. AdAlign keeps unscored spend on a separate line so the total is never padded (home page), and the sheet should do the same. My recommendation for pairs you check by hand: record them as unscored, with your note beside them, rather than inventing a number out of 10. A guessed score looks exactly like a measured one once it sits in column F.

Step 6: Add the three formula columns

With the URL in column C, last-seven-day spend in D, status in E and the score in F, the new columns are G, H and I:

  • Monthly pace: =IF(E2="Paused",0,D2/7*30)
  • At risk: =IF(AND(F2<>"",F2<5),G2,0)
  • Unscored: =IF(F2="",G2,0)

Then total the at-risk column per page with =SUMIF(C:C,C2,H:H), or with a pivot table on the landing page column.

Worked example: five ads, three pages

For example, with made-up figures:

AdPageLast 7 daysMonthly paceScoreAt risk
Meta A/sofas€2,450€10,5004.5€10,500
Meta B/sofas€980€4,2006.0€0
Google C/sofas€1,190€5,1004.0€5,100
Google E/contact€350€1,5003.5€1,500
Meta D/sale€700€3,000blankunscored

Spend at risk is 10,500 + 5,100 + 1,500 = €17,100 a month, with €3,000 unscored. The /sofas page carries €15,600 of it. So that page gets opened first, even though Meta B on the same page scores fine.

One good ad does not clear its page.

How AdAlign totals the same figure

Once accounts are connected, AdAlign keeps the same figure current on every sync. It shows spend at risk per account, per landing page and per ad, in your currency. Unscored spend is kept apart, and stale accounts are flagged so you know how fresh the data is (home page). Its pages word the window two ways. The home page FAQ, read on 27 October 2026, uses last week's spend divided by 7 and multiplied by 30. The manual audit comparison says the monthly spend at the current pace, while the ad QA guide, updated 29 September 2026, says the last 30 days of spend. When your sheet and the app disagree, check which window each one used before you hunt for an error.

If you have never seen this number before, the gap is not yours. Neither ad platform builds this column for you, and the reason is structural. Google's Cost is the spend for interactions such as clicks. Meta's Amount spent is the money spent during the schedule. Both are billed in full whether or not the page kept the ad's promise. So the share of spend landing on a mismatched page is a number only the advertiser has a reason to compute.

From the sheet to the pilot

The sheet is enough on its own to rank your pages, and the five free audits a month put real scores on the top rows. Its weakness is that it goes stale. When the sheet takes longer to rebuild than the pages take to change, switch. AdAlign, which pays me a commission, then computes the same total on every sync in a 30-day pilot on your own accounts. The bands are on the pricing page, and how to use AdAlign covers the connection. Start with the free audit on the pair with the largest weekly spend.

FAQ

Is spend at risk the money I lost?

No. It is the spend still going to ads that score below 5, at the current pace, and some of it converts. For a stricter loss estimate, the ad QA guide multiplies three things: the daily spend behind the ad, the days it ran mismatched, and the share of conversions lost.

Why is the line at 5 out of 10?

It is AdAlign's threshold. How it works says below 5 is where spend at risk starts, and above 7 is strong alignment.

Do paused ads count?

No. The home page FAQ counts paused ads as zero, because nothing more goes to them until they run again.

TAGS
AdAlignSpend at RiskAd SpendLanding PagesGoogle AdsMeta Ads

ABOUT THE AUTHOR

I am Joris van Huët, an enterprise interim CMO. 15+ years, 50+ organizations, including ING, P&G, Nestlé, BNP Paribas, WeTransfer and Vinted. I take on innovation projects (venture building, design sprints), agentic marketing (setting up and running AI agents) and hands-on multi-channel work. See the track record.

I wrote and published this with AI assistance, and I answer for it. Claims about my own experience are limited to the track record above, and a statistic links to its source or is labelled as an example. I sell interim and fractional CMO work, which is why this site exists. How this site is written.

Senior marketing execution

A senior operator doing the work: campaigns, channels, CRM and AI agents, live from day one.