This site, for your AI
Everything on this site, every service page and every article, as one document (16,458 words). Copy it, paste it into ChatGPT, Claude, Gemini or whatever you use, and ask it anything: whether the approach fits your business, what it would change in your account, or where it is wrong.
A site about feeding machines the full picture should feed yours too.
A question to start with, after you paste: "Based on this, what is this consultancy doing that my current Google Ads setup is not?"
Bots and agents: the same content is at /llms.txt (index) and /llms-full.txt (full), with feeds at /feed.json and /feed.xml.
The document
# Fire Pixel: complete site content for LLMs Fire Pixel (firepixel.co.uk) is an advanced Google Ads consultancy run by Ben Luong, trading name of CopperChunk Limited (Ireland, company number 576053). Positioning: "Advanced Google Ads. We trust the machine, and we feed it." Advanced Google Ads means giving the bidding algorithm the inputs it needs: conversion values derived from unit economics, qualified outcomes returned from the CRM, calls captured from the search results page, and budget as the only limiter, checked weekly. Focus: call-heavy lead generation (trades, home services, B2B) plus ecommerce on a lighter model. Pricing: 10 per cent of ad spend, minimum £500/month, setup priced separately, three months then rolling. Locations: Limerick, Ireland and Sheffield, UK; remote. Contact: https://firepixel.co.uk/contact This document contains the full text of every page on the site. Generated automatically from the same source as the published pages. ---- # Qualified call tracking URL: https://firepixel.co.uk/qualified-call-tracking Summary: Capture calls made straight from the search results, score them, and return only the qualified ones to Google Ads. CallRail, Call Details Forwarding and n8n. Calls from the search results page, captured, scored, and fed back to Google. ## The gap In a trades or local services account the biggest call source is usually "Calls from ads": the phone icon on the search results, the call asset, the call-only ad. The caller never visits the website. Standard tracking, which lives on the website, never sees them. Google does count these calls. It counts any call over a chosen length, often thirty seconds, as a conversion. So a customer booking a £300 job and an existing customer chasing an update both register as one conversion, and the bidding buys more of both. ## What we build Google's Call Details Forwarding passes a GCLID for calls to call assets and call-only ads that last more than fifteen seconds, delivered in the call's SIP headers along with the campaign and ad group. A CallRail tracking number set as the number on those assets receives that GCLID. That closes the attribution gap for phone leads. Every call is then scored. Depending on volume that is a rules layer (duration, repeat caller, keyword spotting, office hours) or an LLM listening to the transcript and answering one question: was this a lead? The score and the GCLID go to n8n, which matches the call to the CRM record when one exists and returns only qualified calls to Google Ads as offline conversions, with a value. For the Google Business Profile, CallRail can swap the listing's primary number for a tracking number while keeping the real number as secondary for citation consistency. Those calls carry no GCLID, so they stay reporting-only, but you finally know how many of them there are and what they were. There are a few implementation details that catch people out. Account-level call reporting has to be on. The mobile click-to-call integration needs disabling before Call Details Forwarding is enabled or conversions double. Google's own call reporting stays on alongside it. We handle all of that. ## What you get Tracking numbers on call assets, call-only ads and the Business Profile. Scoring rules or transcript scoring. The n8n workflow that joins calls to the CRM and returns qualified outcomes. A monthly report of calls by source, score and outcome. ## Partners CallRail. UK numbers need an identity verification step on signup, so allow time for it. One more reason this matters here: Google's own AI-qualified call conversions depend on call recording that is currently available only when both numbers are in the United States or Canada. In the UK and Ireland the fallback is call duration. The quality layer has to be built, which is what this service is. Related: [Why calls from the search results page never get tracked](/advanced-google-ads/calls-from-the-serp) · [CRM feedback loop](/crm-feedback-loop) <a class="cta" href="/contact">Book a call</a> ### FAQ **Does call tracking hurt local SEO?** Not when done properly. The real number stays on the listing as the secondary number, so name, address and phone data remain consistent across citations. **What counts as a qualified call?** Whatever you say it is. Usually a new enquiry from a potential customer with a real job. The scoring rule is written with you and changed when you change your mind. **Can you do this without CallRail?** WhatConverts and others cover website calls well. The search results page is the differentiator and CallRail's Google integrations are the most complete for it. ---- # CRM feedback loop URL: https://firepixel.co.uk/crm-feedback-loop Summary: Send real outcomes from your CRM back to Google Ads, phone leads included. Offline conversions, enhanced conversions and Customer Match via n8n. Your CRM tells Google which leads were real. ## The gap Most accounts stop at the form fill. Some go one better and upload completed jobs from the CRM, matched on GCLID. That covers leads that came through a form, which in a trades business is the minority and the lower-converting one. Phone-originated jobs have no GCLID in the CRM, so they never go back. Google is being told that forms produce customers and calls produce nothing, and it bids accordingly. The other leak runs the opposite way. Existing customers ring to chase an update, find the ad, and click it. That call is counted as a conversion. The account is paying to be phoned by people it already has. ## What we build Offline conversion upload from the CRM, triggered on the stage you choose (booked, completed, paid), with the real value attached. Built in n8n, or in Zapier if that is what you already run and it does the job. The same lead is never counted twice at full value: either the qualified lead goes up with an expected value and is restated to its actual value when the job completes, or the funnel stages are recorded separately and the bidding optimises to the one that matters. Enhanced conversions for leads, so a job that arrives without a click ID can still be matched on hashed email or phone number, provided the consented first-party data has been captured through an eligible setup. That is how phone-originated customers get attributed. Customer Match: your customer list pushed to Google Ads as an audience and excluded from the campaigns, refreshed on a schedule. Exposure to existing customers drops sharply, and with it the update-chasing calls that were counting as conversions. Exclusions are not absolute, so the call scoring stays on as the second net. Every route into the business joined up. WhatsApp buttons, click-to-call numbers, chat widgets: each one either gets a tracking number, a webhook or a conversion of its own, or it gets removed from the page. The whole thing runs as one loop. Google → call tracking → n8n → CRM → n8n → Google. ## What you get The two-way workflow. The exclusion audience. A weekly upload log showing what went back and what value. A one-page diagram of where every lead type is captured, so the next person can see it. ## Tools n8n. Zapier where it already exists. HubSpot, Monday.com, Pipedrive, a spreadsheet if that is honestly what you use. The CRM matters less than whether someone updates it. Related: [Your CRM only sends form leads back to Google](/advanced-google-ads/crm-only-sends-form-leads) · [Qualified call tracking](/qualified-call-tracking) <a class="cta" href="/contact">Book a call</a> ### FAQ **Our staff enter calls into the CRM by hand. Does that break it?** No. It means the match happens on phone number or email rather than GCLID. That is what enhanced conversions are for. **How long before Google reacts?** Uploads land within a day. The bidding takes a couple of weeks to reweight. You will see the search terms mix change before the CPA does. **What if the numbers show the ads don't pay?** Then you find out, which is the point. We have had that conversation. It is better than not having it. ---- # Targets from unit economics URL: https://firepixel.co.uk/targets-from-unit-economics Summary: Tell us your unit economics and we'll work out your targets. Per-action conversion values, value bidding, and budget as the only limiter. Tell us your unit economics and we'll work out your targets. ## The gap Ask most advertisers where their target CPA came from and the honest answer is a feeling. It sounds affordable. A previous agency used it. It was what the account happened to be doing the month someone set it. Google treats a target as an average, not a ceiling. It will pay well over the target for a good click as long as it can buy enough cheap junk to pull the average back. As the auction gets more expensive, more junk is needed per good lead. The target does not stop that happening. It causes it. Meanwhile the account already knows a completed job is worth more than a form fill. The values are often sitting right there in the conversion actions. Under target CPA or maximise conversions the bidding never reads them. Every conversion counts as one. ## What we do We start with four numbers from you. What a lead of each type is worth, roughly. What proportion of each type closes. What the average job pays. What you can spend. From that we derive a value for each conversion action. A form that closes 20 per cent of the time at £200 a job is worth about £37 once you allow for the jobs that fall through. A call that closes at 50 per cent is worth about £94. Those go into the account as the values, and the campaign moves to value bidding: maximise conversion value. ## The rule Since Google's [17 August change](/advanced-google-ads/no-right-number-for-the-target-box), the doctrine is explicit rather than implied. If your budget is fixed, which is almost every advertiser we work with, the target comes off. Maximise conversion value with no target: the values decide what the machine prefers, and the budget decides how much it spends. That is what a budget is for. A target on a budget-capped campaign now binds from both sides, and there is [no right number to put in the box](/advanced-google-ads/no-right-number-for-the-target-box). A target ROAS earns its place in two cases only. When the budget genuinely does not bind and you will buy all the volume available at a given return, the target is the instruction, and it is derived from your margin, not from a trailing average. Or when a contract or cashflow makes efficiency a hard limit, in which case the target is a deliberate stop loss, set knowing it will bind. On portfolio strategies we add a maximum CPC cap as a backstop, and it is checked in the weekly loop, because a backstop that starts binding has become a second constraint. Where there is a call threshold, it gets raised at the same time. Moving to value bidding while a thirty second call still carries £80 tells Google to buy more thirty second calls. ## What you get A one-page target derivation you can read and argue with. The conversion value schema. The bidding setup. A quarterly review where the numbers are re-derived from what the CRM says happened. Related: [Your target CPA is a made-up number](/advanced-google-ads/your-target-cpa-is-made-up) · [Target CPA is an average, not a ceiling](/advanced-google-ads/target-cpa-is-an-average) · [Budget is the limiter](/advanced-google-ads/budget-is-the-limiter) <a class="cta" href="/contact">Book a call</a> ### FAQ **We have always used target CPA. Why change?** Because it tells the bidding to ignore the difference between your best lead and your worst. If your leads all close at the same rate and pay the same, keep it. **Won't switching bidding cause a dip?** Changing the objective causes some settling. Changing it from a target that has been buying junk causes less than people expect, because the account gets better clicks almost immediately even if fewer of them. **What if I don't know my numbers?** Then we work them out from the CRM together. Most businesses know more than they think once someone asks the right four questions. ---- # Data warehouse URL: https://firepixel.co.uk/data-warehouse Summary: Your Google Ads, GA4 and CRM data in BigQuery. Weekly variance alerts, a lifetime value model, competitor ad monitoring and dashboards you own. Your ads data in a warehouse you own. ## The gap The Google Ads interface shows you what Google wants you to see, for the period you happen to have selected. The Looker Studio template on top of it is the same data with a logo. Neither joins the ads to what the CRM says happened, neither tells you when something has drifted, and neither survives changing agency. ## What we build A BigQuery warehouse with Google Ads, GA4, Microsoft Ads and CRM exports landing on a schedule. Cheap to run, yours forever, and the same place we do our analysis. Weekly variance alerts. n8n runs the checks every Monday: spend against budget, CPA and value against the trailing period, search term mix, impression share, conversion action volumes by type. Anything outside its normal range is flagged before anyone opens the account. That is the machine half of the weekly loop. The human half is deciding what to do about it. A lifetime value model, where the volume supports it. For one ecommerce client, first-order value predicts lifetime value well enough that the segments decide who the campaigns chase. Certain first orders reliably mark the customers who come back; others mark one-off buyers. The ads know the difference because the warehouse told them. Competitor ad monitoring from the Ads Transparency Centre, so you know who is live, where and with what, without paying for a tool. Dashboards on the warehouse. Your numbers, joined to your outcomes, in a form you can hand to your accountant. One honest limit, stated plainly: matching CRM outcomes to clicks is attribution hygiene, not proof that the ads caused the job. Some of those customers would have found you anyway. The warehouse is also where that question gets answered properly, with holdout and geo tests, when the volume justifies running them. Most accounts never get the hygiene, let alone the causation test. We do them in that order. ## What you get The warehouse and the pipelines. The alert rules, written down. The dashboard. LTV segments where they exist, with the ads audiences that use them. Related: [The weekly loop](/advanced-google-ads/the-weekly-loop) · [Targets from unit economics](/targets-from-unit-economics) <a class="cta" href="/contact">Book a call</a> ### FAQ **Is this overkill for £10k a month?** The alerts alone pay for it. The LTV model needs volume; we will tell you if you don't have it. **Who owns it?** You. It sits in your Google Cloud project. If we part ways, it keeps running. **What does it cost to run?** BigQuery at this scale is usually a few pounds a month. The exports are free or nearly so. ---- # Tracking URL: https://firepixel.co.uk/tracking Summary: Tracking for lead gen that survives consent without a server. Microsoft Clarity, n8n event capture, Consent Mode from day one, and a proven plugin for ecommerce. Tracking that survives consent and doesn't need a server. ## The approach Ecommerce tracking is a solved problem. A good plugin on the platform, purchase events with real values, enhanced conversions on, and server-side GTM on managed hosting only where the volume or the browser losses justify it. We install it, test it, and leave it alone. Lead generation is where the effort goes, because the outcome that matters happens off the site. ## What we build for lead gen Microsoft Clarity for behaviour. Free, session recordings and heatmaps, and it shows you why the form on the landing page does nothing on mobile. It is also the fastest way to find the chat widget that opens itself over the call button. n8n for events. Forms post to an n8n webhook rather than an email address. The workflow stores the lead with its GCLID, click IDs and landing page, scores it, writes it to the CRM and fires the conversion to Google Ads with a value. No dataLayer gymnastics, no tag that breaks when the page changes, and every lead is in a table you can query. Consent Mode v2 wired in from day one with Cookiebot. We put this in scope even for clients who would rather not, because the tracking has to be built on ground that will not move. When Google's compliance email arrives, and it does arrive, an account with consent already handled carries on. One without it breaks in the middle of a good month. GTM stays for what it is good at: GA4, the odd third-party tag, and the ecommerce side. We write a measurement plan and a dataLayer spec so the next developer knows what fires and why. ## What you get A measurement plan. The dataLayer spec. Consent configured and tested. The n8n lead capture workflow. A QA sheet showing every conversion firing once, with the right value, in the right place. ## Partners Cookiebot. Related: [Clarity and n8n instead of server-side tracking](/advanced-google-ads/clarity-and-n8n-tracking) · [CRM feedback loop](/crm-feedback-loop) <a class="cta" href="/contact">Book a call</a> ### FAQ **Why not server-side tracking for everything?** For lead gen the lead itself is the server-side event. Capturing it in n8n gives you the record, the scoring and the upload in one place. Server-side GTM adds a hosting bill and a container to maintain, and for most lead gen accounts adds nothing the webhook does not. **We had a cookie banner and turned it off. It was ugly.** They can be made less ugly. They cannot be skipped. We will show you the version that costs the fewest visitors. **Do you still do GA4?** Yes. Twenty years of it, including the migration from Universal Analytics across multiple properties. ---- # Landing pages URL: https://firepixel.co.uk/landing-pages Summary: Fast static landing pages built for the ad. One job per page, forms posting straight into the feedback loop, Clarity recordings driving the changes. Pages built for the ad, with forms that post straight into the loop. ## The gap Ads pointed at the homepage. Or at an SEO page with a full navigation, three thousand words, a chat widget that opens itself over the call button, and an eight second load on a phone. The visitor came from a search for "emergency boiler repair leeds" and the page is about the company's history. The other version is the client building their own landing page in a tool that does not talk to the tracking, then wondering why the form fills do not show up in the account. ## What we build Static pages, no CMS. They load in under a second on mobile and there is nothing on them to hack. One page per job: the service, the area, the price from, the phone number, the form. Navigation stripped so the only way out is to enquire. The form posts to n8n with Turnstile for spam. The lead lands in the CRM with its click ID and the conversion fires with a value, all from the one submission. The call button is a tracking number. Competitor comparison pages where there is a real angle. A specialist whose edge is a benefit the national brand cannot match deserves a page that says exactly that to people searching for the national brand. Clarity recordings feed the revisions. When the form gets abandoned at the same field every time, the field goes. We can also write the brief for your developer if you would rather keep it in-house, and then check what comes back. ## What you get The page or pages, hosted on a static host at negligible cost. The form workflow. A short test plan: what we change first, what we watch, when we call it. Related: [Landing pages for ads are not your website](/advanced-google-ads/landing-pages-are-not-your-website) · [Tracking](/tracking) <a class="cta" href="/contact">Book a call</a> ### FAQ **Will this hurt our SEO?** The pages are noindexed. Your SEO site carries on. The ads just stop landing on it. **Can it match our brand?** Yes. Fonts, colours, logo, tone. Speed and focus are the constraints. **We already have a landing page.** Then we test it. If it works, we leave it. Attachment to a page is the usual reason it never gets tested. ---- # Automation URL: https://firepixel.co.uk/automation Summary: Chatbots and CRM workflows on n8n that score leads before they reach you, keep the CRM up to date and feed the Google Ads loop. EU AI Act disclosure included. Chatbots and CRM automation that feed the loop. ## The gap A chat widget on the site that nobody tracks. Leads scored by whoever picks up the phone. A CRM that is updated on Fridays, if at all, so nothing useful ever goes back to Google. ## What we build Lead scoring before upload. Every enquiry passes through an LLM with one question and a rubric: is this a real lead, and how good? The score sets the conversion value, decides whether it goes back to Google at all, and routes the lead to the right person. This is what took a lead gen client from about €50 to €20-30 per lead. The ads got better because Google was told which leads were worth having. Chatbots that capture rather than deflect. Built on a fast, cheap model tied to the CRM (Claude Haiku with HubSpot on a recent build). The bot qualifies, books or hands off, and writes the conversation into the CRM record. The required EU AI Act disclosure is built into the first message. CRM workflows in n8n. Stage changes trigger uploads. New customers join the exclusion audience. Quotes that go quiet get a follow-up. The CRM stays current because the automation does the boring part. All of it self-hosted n8n, so the workflows are yours and there is no per-task bill. ## What you get The scoring workflow with the rubric written in plain English so you can change it. The chatbot, its disclosure copy and a transcript log. The CRM workflows, documented. Monitoring that tells us when something stops running. Related: [CRM feedback loop](/crm-feedback-loop) · [Tracking](/tracking) <a class="cta" href="/contact">Book a call</a> ### FAQ **Will an LLM misjudge leads?** Sometimes. It is checked against what the CRM later says happened and the rubric is adjusted. It is already better than scoring by whoever answers the phone. **Do we need HubSpot?** No. n8n connects to most CRMs. If yours has an API or even an email inbox, it works. **What about data protection?** Lead data stays in your CRM and your n8n instance. The LLM sees what it needs to score and nothing is retained by it. ---- # API management URL: https://firepixel.co.uk/api-management Summary: Bulk changes through the Google Ads API and scripts, generated with AI, reviewed in the interface by a person before they stand. Change log and rollback included. Bulk changes through the API, checked in the interface. ## The approach Some changes are too big for the interface. Five hundred negatives across twelve campaigns. Conversion values updated from last quarter's CRM data. Budgets reset from a spreadsheet. Offline conversions uploaded daily. These go through the Google Ads API or scripts, and AI writes most of that code. Nothing stands until a person has looked at it in the interface. That is the rule. The machine produces the change, the change is reviewed where its effect is visible, then it is applied. Every change gets a log entry and a way back. ## What this covers Account-level negative and brand lists. Most accounts have never had either. Brand lists match Google's own entity for a brand, so they catch misspellings and variants the way a keyword negative never will. We build the job-seeker list, the competitor list and the complaints list once, at account level, and every campaign inherits them. Conversion value updates from the CRM. Quarterly, or monthly where volume allows, the per-action values are re-derived and pushed. Bid caps, budgets and schedules across portfolios. Search term mining at scale, with the machine proposing and a person deciding. Structural changes when the account needs them, staged so the client can see each step. Since 17 August 2026 Google has changed how a target behaves on a budget-capped campaign. Managing that interaction properly across an account is exactly the kind of work that needs a script and a reviewer, and it is the reason the weekly loop exists. ## What you get A change log you can read. An approval step you can see. Rollback for anything we push. The scripts, documented, in your account. Related: [17 August: Google converted a setting into a job](/advanced-google-ads/17-august-setting-into-a-job) · [Brand lists vs negative keywords](/advanced-google-ads/brand-lists-vs-negative-keywords) <a class="cta" href="/contact">Book a call</a> ### FAQ **Is AI making the changes?** AI is writing the changes. A person is approving them. The difference matters and we keep it. **We had an agency that automated everything and it went wrong.** That is usually automation with no reviewer. Ours has one. **Can we see what you did?** Everything. The log is yours and the change history in the account matches it. ---- # Microsoft Ads URL: https://firepixel.co.uk/microsoft-ads Summary: Bing built for its own auction, with LinkedIn profile targeting for B2B and the same feedback loop as Google. Budget-capped campaigns that hold their target. Bing, built for its own auction, with LinkedIn audiences. ## The gap Most Microsoft Ads accounts are a Google import from two years ago. Same targets, same ads, no attention. It is a smaller auction with different behaviour, and treating it as Google's shadow leaves money in it. ## What we build An account built for Microsoft's auction. In our experience its budget-capped campaigns hold their target instead of drifting, so a campaign set to a ROAS actually delivers it. That changes how you set it up. LinkedIn profile targeting, which Microsoft has and Google does not. Company, industry and job function bid adjustments on search campaigns. For B2B lead gen that is the closest thing there is to a search query that signals company size. Promotional credit on new accounts, used properly: as a test budget with tracking in place from the first click rather than a free month nobody measured. The same feedback loop. Offline conversions, enhanced conversions and the CRM outcomes go to Microsoft as well as Google, so it learns from the same reality. ## What you get The account build. Audience setup. Monthly report alongside Google in the same warehouse, so the two are compared on the same terms. Related: [Why Microsoft Ads holds its target when Google doesn't](/advanced-google-ads/microsoft-ads-holds-its-target) · [Targets from unit economics](/targets-from-unit-economics) <a class="cta" href="/contact">Book a call</a> ### FAQ **Is Bing worth it for us?** For B2B and older demographics, usually yes. For a young consumer audience, sometimes not. Test it with the promotional credit and the numbers decide. **Do we need a separate landing page?** No. Same pages, same forms, a different click ID captured. **Why not just import from Google?** Import to start, then change what the data says to change. The mistake is stopping after the import. ---- # Shopping CSS URL: https://firepixel.co.uk/shopping-css Summary: Run Google Shopping through a comparison shopping service partner and pay about 20% less per click. Migration, feed audit and value bidding included. Keep more of every Shopping bid with a CSS. ## How it works When you run Shopping through Google's own comparison shopping service, Google confirms it deducts a fixed percentage margin from your bids before they enter the auction. It does not publish the percentage; CSS providers commonly put it at around 20 per cent. Run the same ads through a third-party CSS and that margin is removed, so your bids buy correspondingly more. Nothing else changes: same campaigns, same feed, same interface. Producthero and Bidnamic are the partners we use. Bidnamic's CSS is free; Producthero charges a small monthly fee and adds feed tooling. ## What we do Move the account to the CSS, which is a merchant centre change and a day's work if the feed is clean. Audit the feed while we are in there: titles, GTINs, prices, availability, the categories that are wrong. Then run Shopping and PMax on the same value bidding as search, with the warehouse and the lifetime value segments deciding where the budget goes. For ecommerce we deliberately run a light-touch model. PMax, broad match, maximise conversion value, budget set from what you tell us you can spend. The interesting work is in the [data warehouse](/data-warehouse), where first-order value predicts who is worth chasing. ## What you get The migration. A feed audit with fixes. Before-and-after CPC on the same terms. Ongoing management under the standard pricing. ## Partners Producthero. Bidnamic. Related: [Data warehouse](/data-warehouse) · [Tracking](/tracking) <a class="cta" href="/contact">Book a call</a> ### FAQ **Is a CSS a loophole?** No. It is how the EU required Google to run Shopping after the 2017 ruling, and Google publishes the partner list. **Will my ads look different?** A small "by [CSS name]" line appears under them. Shoppers ignore it. **Do you do Meta Shopping too?** We can, with the same feed. The Google side is where we start. ---- # Standard Google Ads management URL: https://firepixel.co.uk/standard Summary: What a standard Google Ads management engagement includes, written fairly, and the point at which it stops working. This is what most agencies sell, and it is written here fairly because a lot of it is fine. A standard engagement builds campaigns by match type and theme. It writes responsive search ads, adds sitelinks and callouts, sets a daily budget and a target CPA or ROAS. It installs the Google Ads tag, or GTM, and counts form submissions and phone calls as conversions. It adds negative keywords from the search terms report. It sends a monthly report from the interface or a Looker Studio template. Someone looks at the account a couple of times a week. Run well, that produces a working account. Plenty of businesses have grown on it. ## Where it stops The target is a number someone chose. Usually the client, usually from what they feel they can afford, occasionally from a spreadsheet nobody has opened since. Google treats it as an average to hit, and when the auction gets more expensive the only way to hold that average is to buy cheaper clicks. Cheaper clicks are cheaper because they convert worse. Every conversion counts as one. A completed £300 job and a thirty second wrong number look identical to the bidding. Tracking stops at the website. Calls made straight from the search results, the ones with no site visit, are the largest call source in most trades accounts and they have no quality layer at all. Nothing goes back. The CRM knows which leads became customers. Google never finds out, so it keeps buying the same mix. The weekly check is a person scrolling the interface. Anomalies are found when the client rings. ## Standard, from us If you want the standard version we can do it, and we will run it properly. We are unlikely to be the cheapest option for it, because the price is built for the [advanced setup](/targets-from-unit-economics) and standard work is just the first fortnight of that. Read: [Your target CPA is a made-up number](/advanced-google-ads/your-target-cpa-is-made-up). ---- # About URL: https://firepixel.co.uk/about Summary: Fire Pixel is Ben Luong: twenty years in analytics and paid media, GA4, Google Tag Manager, Google Ads, BigQuery and n8n, working AI-first with a human signing off. Fire Pixel is me, Ben Luong. It is the Google Ads side of CopperChunk, the analytics and paid media consultancy I have run since 2009. I started in data and research in 2004, built and ran an online gaming affiliate business through the years when SEO and website building paid, co-founded and exited a lead generation software company, and have spent the last several years on measurement and paid media: GA4, Google Tag Manager on the web and server side, Google Ads, BigQuery, and n8n for the automation that joins them up. I did the Universal Analytics to GA4 migration by hand across multiple properties, which is a specific kind of scar tissue. The lead generation background matters for how I run ads. A decade in high-volume environments where every lead had a price and a buyer teaches you that the value of a lead is the only number that matters, and that most accounts never put it in. ## How I work AI does the volume. Scripts, audits, transcript scoring, the first pass of the weekly check, most of the code. I direct it and I check it. Every change that reaches an account has been looked at in the interface by me before it stands. I think of the job as verifying rather than executing, and I think that is what the job has become. I also use Google's reps as [a second pair of eyes](/advanced-google-ads/google-reps-second-pair-of-eyes): they can see diagnostics the interface does not show, and because I am deliberately not a Google Partner, there is no badge, quota or recommendation score shaping what I do with their suggestions. I do not do long contracts. Three months to start because the first weeks are heavy, then rolling monthly. If the numbers say the ads do not pay, I will tell you, because you are paying for the numbers. One person runs this, so there is a hard cap on concurrent accounts. The automation is what makes each account thorough; the cap is what keeps the human check honest. When it is full, new work waits, and I will say so rather than stretch. ## Proof References and case studies are available on request. I will be straight about why they are not plastered across this site: cherry-picked case studies are a poor way to decide whether something will work for you. Every agency shows you its best account and none of them shows you the base rate. A result from someone else's business, at someone else's spend, in someone else's auction, tells you very little about yours. The better test is the site itself. Every page has an "Ask an AI" button, and the [whole site is one copy-paste](/for-ai) for whichever bot you trust. Paste it in with a description of your business and ask whether the approach holds up. The methods here either apply to your account or they do not, regardless of how good someone else's story sounds. ## Where Limerick, Ireland, and Sheffield, UK. Clients across Ireland and the UK. Everything remote. <a class="cta" href="/contact">Book a call</a> ---- # Privacy policy URL: https://firepixel.co.uk/privacy Summary: How Fire Pixel (a trading name of CopperChunk Limited) collects, uses and protects personal data across firepixel.co.uk and our services. Fire Pixel is a trading name of CopperChunk Limited, a private limited company registered in the Republic of Ireland (company number 576053), Unit 72 Eastlink Business Park, Ballysimon Road, Limerick, V94 0E38. CopperChunk Limited is the data controller for personal data collected through firepixel.co.uk. Questions about this policy or your data: [[email protected]](mailto:[email protected]). ## What we collect **Information you give us.** When you use the contact form or book a call we collect what you provide: your email address, your monthly ad spend, how you track calls, and what CRM you use. If you become a client we also hold the contact, project and billing information needed to do the work. **Attribution data.** Because measurement is the business, we practise what we sell. When you arrive from an ad or a campaign link, we record the traffic source, medium, campaign, term and content, and any ad click identifiers in the URL (such as Google's gclid, Meta's fbclid or Microsoft's msclkid). These are stored in first-party cookies for up to 90 days and attached to your enquiry if you submit the form, so we know which campaign produced it. **Technical data.** Our infrastructure providers log IP address, browser type, device type, pages viewed and referrer URL for security and performance. **Analytics and behaviour.** With your consent, Google Analytics 4 measures how the site is used and Microsoft Clarity records anonymised session replays and heatmaps so we can see where pages fail. Neither runs before you accept cookies. ## How we use it - To answer your enquiry and, where you instruct us, to deliver the services. Lawful basis: taking steps to enter into a contract, and the contract itself. - To understand which marketing produced an enquiry. Lawful basis: legitimate interest in measuring our own advertising. - To run analytics and session recording. Lawful basis: your consent, given through the cookie banner and revocable at any time. - To meet legal obligations such as tax and accounting records. Lawful basis: legal obligation. We do not sell personal data, and we do not use it for automated decisions that produce legal effects. ## Who processes it for us We use a small set of processors, each under their own data processing terms: - **Cloudflare** for DNS, security and content delivery - **Google** (Analytics, Tag Manager, Ads, Workspace) for measurement, advertising and email - **Microsoft Clarity** for session recordings and heatmaps - **CookiePal** for consent management - **Cal.com** for call bookings - **n8n**, self-hosted on our own server in Germany (EU), for processing form submissions Form submissions go to our own self-hosted automation, not to a third-party form service. Some providers (Google, Microsoft, Cloudflare) may transfer data outside the EEA under approved safeguards such as Standard Contractual Clauses and the EU-US Data Privacy Framework. ## How long we keep it Enquiry data is kept for as long as reasonably needed to handle the enquiry and any engagement that follows. Client records are kept for the duration of the engagement plus the periods Irish tax and company law require. Attribution cookies expire after 90 days. Analytics data is retained on the standard Google Analytics settings. ## Your rights Under the GDPR (and the UK GDPR where it applies) you can ask us for access to your data, correction, erasure, restriction of processing, portability, and you can object to processing based on legitimate interest. You can withdraw cookie consent at any time from the [cookie policy](/cookie-policy) page. To exercise any of these, email [[email protected]](mailto:[email protected]). You can also complain to the Irish Data Protection Commission (dataprotection.ie) or, for UK matters, the Information Commissioner's Office (ico.org.uk). ## Changes We update this policy when the stack or the law changes. The version on this page is always current. Last updated: 26 August 2026. ---- # Cookie policy URL: https://firepixel.co.uk/cookie-policy Summary: The cookies firepixel.co.uk sets, what each one does, how long it lasts, and how to change or withdraw your consent at any time. Cookies are small text files stored in your browser. This site uses them for three things: remembering your consent choice, measuring how the site is used, and recording which campaign brought you here. Nothing optional runs until you allow it. Consent is managed by CookiePal with Google Consent Mode v2. Your choice is passed to every tag on the site, so analytics and advertising tags only fire in line with what you accepted. <p><button class="cta" onclick="window.cookiepal && window.cookiepal.api.openPreferences(); return false;">Change cookie settings</button></p> ## The cookies we set **Strictly necessary** | Cookie | Purpose | Duration | |---|---|---| | cookiepal-consent | Stores your consent choices per category | 1 year | **Analytics** (only with consent) | Cookie | Purpose | Duration | |---|---|---| | _ga | Google Analytics: distinguishes visitors | 2 years | | _ga_Q7VJTMJ0MM | Google Analytics: keeps session state | 2 years | | _clck | Microsoft Clarity: visitor identifier for session recordings | 1 year | | _clsk | Microsoft Clarity: links actions within one session | 1 day | **Attribution** (first-party) | Cookie | Purpose | Duration | |---|---|---| | ddTrafficSource / ddTrafficMedium / ddTrafficCampaign / ddTrafficCampaignTerm / ddTrafficCampaignContent | Records the source, medium and campaign that brought you to the site (last non-direct) | 90 days | | ddAdClickIdGclid / ddAdClickIdFbclid / ddAdClickIdMsclkid / ddAdClickIdGbraid / ddAdClickIdWbraid | Stores ad click identifiers from Google, Meta and Microsoft ads so an enquiry can be attributed to the click that produced it | 90 days | These attribution cookies are first-party, are not shared with ad networks by the site, and are attached to your enquiry only if you submit the contact form. ## Changing your mind Use the button above to reopen the consent banner and change or withdraw consent at any time. You can also clear or block cookies in your browser settings; the site works without the optional ones. ## Who we are This site is run by Fire Pixel, a trading name of CopperChunk Limited (Ireland, company number 576053). Full details of how personal data is handled are in the [privacy policy](/privacy). Questions: [[email protected]](mailto:[email protected]). Last updated: 26 August 2026. ---- # Terms and conditions URL: https://firepixel.co.uk/terms Summary: The terms on which Fire Pixel (a trading name of CopperChunk Limited) provides Google Ads management, analytics and related services. These terms govern all services provided by CopperChunk Limited, a private limited company registered in the Republic of Ireland (company number 576053), Unit 72 Eastlink Business Park, Ballysimon Road, Limerick, V94 0E38, trading as Fire Pixel and operating via firepixel.co.uk (the "Contractor"). ## 1. Definitions "Client" means the person or business instructing the Contractor. "Services" means the Google Ads management, analytics, tracking, automation and related digital marketing work the Contractor agrees to provide. "Deliverables" means the work products, configurations, reports and documents produced in the course of the Services. "Fees" means the charges agreed for the Services. ## 2. Agreement By instructing the Contractor to begin work, whether in writing, verbally, or by payment, the Client agrees to these terms in full. Where a separate proposal or project brief has been agreed, its specific terms take precedence over these where they conflict. ## 3. The services The Contractor performs the Services with reasonable skill and care and in accordance with generally accepted professional standards. The Contractor may use subcontractors and automated tooling, and remains responsible for the output. No specific outcome, including rankings, conversion rates, cost per lead or advertising performance, is guaranteed unless expressly stated in writing. ## 4. Client responsibilities The Client will provide timely access to the accounts and platforms needed for the work, respond to reasonable requests for information and approvals, and ensure that materials it provides do not infringe any third party's rights. The Contractor is not responsible for delays or failures caused by the Client not meeting these responsibilities. ## 5. Fees and payment Fees exclude VAT unless stated otherwise. Unless a payment schedule has been agreed in writing, payment is due upfront before work commences. Monthly management fees are due at the start of each month. The Contractor may pause work where payment is more than 14 days overdue. Amounts more than 30 days overdue may attract interest at 8 percentage points above the European Central Bank main refinancing rate, in line with EU late payment rules. ## 6. Changes and termination Changes to scope must be requested in writing and may change the Fees. Where the Client cancels after work has commenced, the Client remains liable for Fees proportionate to the work completed. Engagements with an agreed initial term run for that term and then continue monthly, terminable by either party with notice before the next monthly renewal. The Contractor may terminate immediately for material breach or non-payment. ## 7. Intellectual property Ownership of Deliverables passes to the Client on payment in full. The Contractor retains ownership of its tools, templates, methodologies, pre-existing materials and know-how. Accounts and properties created in the Client's name (Google Ads, Analytics, Tag Manager and similar) belong to the Client. The Contractor may reference the Client's name and summary results for portfolio purposes unless the Client asks otherwise in writing. ## 8. Confidentiality Each party will keep the other's confidential information confidential, except as required by law. This obligation survives the end of the engagement. ## 9. Liability The Contractor's total liability for any claim arising out of or in connection with the Services is limited to the total Fees paid by the Client for the Services giving rise to the claim. The Contractor is not liable for indirect or consequential loss, including loss of profit or revenue, or for the performance of third-party platforms. Nothing in these terms excludes liability for fraud, or for death or personal injury caused by negligence. ## 10. Governing law These terms and any dispute arising from them are governed by the laws of the Republic of Ireland, and the Irish courts have exclusive jurisdiction, without prejudice to any mandatory protections available to the Client under applicable EU or UK law. Questions about these terms: [[email protected]](mailto:[email protected]). Last updated: 26 August 2026. ---- # 17 August: Google converted a setting into a job URL: https://firepixel.co.uk/advanced-google-ads/17-august-setting-into-a-job Summary: Google's August 2026 change to how targets behave on budget-capped campaigns turned a set-and-forget setting into a weekly task. What it means for fixed-budget advertisers. On 17 August 2026 Google changed how a bidding target interacts with a campaign that is limited by budget. The announcement came with a FAQ listing the options for advertisers, and the fourth option was to remove the target altogether. Most of the industry spent the weeks before it debating the mechanics. Our position, posted a week before the date, was that for most advertisers the answer was in plain sight: almost every account is on a fixed budget, so do what Google's own FAQ says and take the target off. Everything else was noise. ## Why most advertisers are budget-limited We have run accounts for twenty years, and outside a spell in lead brokering where the model was "buy everything at this price", every single one has had a fixed budget. Five current clients, all fixed. The uncapped advertiser who will spend whatever converts at target is the exception Google's tooling is designed around and almost nobody is. For a fixed-budget advertiser the target was always doing a second job: holding spend below the budget by refusing auctions. After 17 August, that job stopped working the way it did. Complaints arrived the next day. CPCs went up for people who had kept a tight target on a capped campaign. ## What changed for the work Before, a target was a setting. You chose a number, and you could leave it for months. The account did roughly what the number said. After, on a capped campaign, the relationship between target, budget and bid cap has to be watched. Where does the campaign actually land against the budget this week? Has the CPC run up? Is the portfolio bid limit binding, and should it? Those are weekly questions now. Google converted a setting into a job. That job is the [weekly loop](/advanced-google-ads/the-weekly-loop). A warehouse pulls the numbers, an automation flags what moved, a person decides. It is the part of Google Ads that cannot be set and forgotten any more, and it is where the fee is earned. ## What to do if you are budget-capped Remove the target, or move to maximise conversions or maximise conversion value with no target, and let the budget limit spend. That is Google's own advice for the constrained case. Give every conversion action its real value first, so "maximise value" has something to maximise. Keep a maximum CPC bid limit on the portfolio as a backstop. Then check it weekly. The full argument, including the failure modes of every number you could type into the box and a Google rep conceding the mechanics live on a call, is in [There is no right number for the target box](/advanced-google-ads/no-right-number-for-the-target-box). [API management](/api-management) · [Budget is the limiter](/advanced-google-ads/budget-is-the-limiter) ---- # AI agents for Google Ads: the ones I use, and the ones I don't URL: https://firepixel.co.uk/advanced-google-ads/ai-agents-google-ads Summary: Google already runs an agent inside your account. External bidding agents lose on its home territory. Where AI agents actually earn their keep in Google Ads: the inputs and the audit. Three weeks ago I posted this on LinkedIn: > I think agents are overrated. I just manage everything in the interface. PMax and smart bidding are already agents, so it doesn't make sense to layer another agent on top. The agents I've seen peddled are actually harmful. No external agent is going to outperform Google's AI on home territory. This site says AI does the volume in every account I run. Both statements are true at the same time, and the reason they are both true is the most useful thing I can tell you about AI in Google Ads. The line that resolves them: it depends which side of the auction the agent works on. ## Google already runs an agent in your account Strip the branding off Smart Bidding and Performance Max and describe what they do: they observe context, make decisions toward a goal, act without asking, and learn from the results. That is an agent. It has been an agent since before the word was fashionable. And it is an agent with home advantage. At auction time, Google's bidder sees signals that are never exposed to you or to any tool: the individual query in full, the user's session context, device and location detail, time patterns, and everything its models infer from them. It sets a bid per auction, billions of times a day, with feedback from every auction it has ever entered. That is the machine this site keeps saying we trust. Day to day, I let it run. Bidding decisions, query matching, the moment-to-moment allocation inside a campaign: interface untouched. Not because attention is expensive, but because intervening there is trading against better information. ## Why external bidding agents lose on home territory The agent products being peddled to advertisers mostly work inside the auction's territory: tools that adjust bids on a schedule, robots that add negatives daily from the search terms report, layers that promise to "optimise your campaigns with AI" by nudging the same levers you can see in the interface. Think about what such a tool can actually observe: the reporting API. Aggregated, delayed, and a fraction of what the bidder acted on in real time. Every decision it makes is made with less information than the system it is trying to correct, and its corrections arrive after the fact, to be re-learned around by the bidder on the next cycle. At best, that is noise the bidder absorbs. At worst it is actively harmful: bid nudges that fight auction-time bidding, daily negative-gardening that starves match types of the queries they needed to learn from, budget shufflers that reset learning for a rounding error. The account pays for the tool, then pays again in the interference. There is a simple test for any AI tool being sold to you: does it act on levers inside the auction, or does it work on what the auction cannot see? The first kind is competing with Google in the one arena where Google cannot lose. The second kind is doing a job Google has left undone. ## What Google's agent cannot see Because here is the other half, and it is the half this whole practice is built on. Google's agent is blind outside its own platform. It does not know that the call closed at 50 per cent and the form at 20. It does not know the £300 job completed, or that the caller was an existing customer chasing an update. It cannot read your CRM, listen to a call, or derive a conversion value from your close rates and margins. It optimises brilliantly toward whatever it can see, and what it can see, in most accounts, is a pile of proxies: form fills, thirty-second calls, clicks on a WhatsApp button. An agent with perfect execution and wrong objectives produces the wrong result flawlessly. That is the actual state of most Google Ads accounts: not a bidding problem, an input problem. ## Where agents earn their keep: the inputs and the audit So the AI in my accounts works entirely outside the platform, on the two jobs Google's agent structurally cannot do. **Feeding.** [Deriving conversion values from unit economics](/targets-from-unit-economics), so the bidder optimises toward worth instead of count. [Scoring calls](/qualified-call-tracking), an LLM reading the transcript and answering one question: was this a lead? Joining every route into the business to [the CRM, and sending only the qualified outcomes back](/crm-feedback-loop) as offline conversions with values attached. All of that is agent work, and none of it touches a bid. **Auditing.** Google's agent will never mark its own homework. Every week, [automation pulls the numbers](/advanced-google-ads/the-weekly-loop): spend against budget, value against the trailing period, conversion mix by action type, search term composition, the offline upload log, all reconciled against what the CRM says actually happened. The machine flags what moved. A person decides what to do about it. Where a change is needed at scale, [AI drafts it and a human approves it in the interface](/api-management) before it stands. Notice the shape: the agents propose, score, reconcile and flag. They do not decide. The one agent making autonomous decisions inside the account is Google's, because inside the account, Google's is the best there is. ## What this looks like day to day Honestly: the interface mostly gets left alone. Bidding runs itself. Negatives are structural, built once at account level as [brand lists and the three standing exclusion lists](/advanced-google-ads/brand-lists-vs-negative-keywords), not gardened daily from the search terms report. The work happens outside: the tracking, the values, the call scoring, the landing pages, the warehouse, the weekly reconciliation. The platform is the engine; everything I do is the fuel line and the dashboard. That is also why "we manage your bids daily" has quietly become an anti-signal when you hear it from an agency. Daily bid management inside a Smart Bidding account is either not happening, or it is happening and hurting. ## The rule Inside the auction: trust the machine. It is an agent with better information than you, and layering another agent on top of it is paying to interfere. Outside the auction: the machine is blind, and everything that matters to your business lives there. Feed it real values and real outcomes. Audit what it bought against what your CRM says. Use all the AI you like for that work, because there, the comparison is not against Google. It is against not doing the work at all, which is what most accounts choose. We trust the machine, and we feed it. The LinkedIn post is the first half. This site is the second. [The weekly loop](/advanced-google-ads/the-weekly-loop) · [CRM feedback loop](/crm-feedback-loop) · [What is advanced Google Ads?](/advanced-google-ads/what-is-advanced-google-ads) ### FAQ **Should I use an AI agent to manage my Google Ads bidding?** No. Smart Bidding already is an AI agent, and it bids with auction-time signals that no external tool can see. An outside agent making bid decisions is competing with less information against the system that runs the auction. Use AI outside the platform instead: on conversion values, call scoring, CRM feedback and the weekly audit. **Is Performance Max an AI agent?** Effectively yes. PMax decides targeting, placements, bids and creative combinations on its own, inside boundaries you set. That is agent behaviour. The practical consequence is that your leverage is the boundaries and the inputs: the values, the exclusions, the assets and the outcomes you feed back. **Are third-party AI optimisation tools for Google Ads worth paying for?** Tools that promise to outbid or out-optimise Google inside the auction rarely justify themselves, because they act on a subset of the data Google acts on. Tools that work outside the auction, joining ads data to CRM outcomes, scoring calls, flagging variances, can be worth far more than they cost. Judge any tool by which side of that line it works on. **What is the best use of AI in a Google Ads account?** Feeding and checking. Deriving conversion values from unit economics, scoring calls and leads before they are uploaded, reconciling what the account reports against what the CRM says happened, and flagging what moved each week. Those jobs improve what Google's own bidding optimises toward, instead of fighting it. ---- # Why calls from the search results page never get tracked URL: https://firepixel.co.uk/advanced-google-ads/calls-from-the-serp Summary: The biggest lead source in a trades account is the phone icon on the search results. Standard tracking never sees it. How Call Details Forwarding and CallRail fix that. Search "emergency locksmith" on a phone. There is a call button on the ad. Tap it and the call connects. No website loaded, no page viewed, no tag fired. For a locksmith, a windscreen fitter, a plumber, that call is the business. In the accounts we see it is the largest single conversion source. And the tracking that most agencies sell, however sophisticated, lives on the website. It cannot see a call that never got there. ## What Google gives you Google does count these calls, through call reporting. A call lasting longer than the threshold you set, commonly thirty seconds, is recorded as a conversion. That is all it is: a duration. The person booking a £300 replacement and the person asking whether their job is still on for Thursday both count. There is no quality layer. Nothing goes back to Google saying which calls mattered, so the bidding treats them all as equally desirable and buys more of whatever is cheapest. ## What closes the gap Google's Call Details Forwarding passes the click ID for calls to call assets and call-only ads that last over fifteen seconds, delivered with the call along with the campaign and ad group. A call tracking number on those assets receives it. CallRail does this well. With the click ID attached, the call can be scored and matched to what happened next. Was it a new enquiry? Did it book? Did it complete? That answer, with a value, goes back to Google as an offline conversion. The machine now learns from calls that became jobs, not calls that lasted thirty seconds. The Google Business Profile is the other route. CallRail can swap the listing's primary number for a tracking number while keeping the real one as secondary for citation consistency. Those calls carry no click ID, so they stay reporting-only, but for the first time you know how many there are and what they were. ## Details that catch people out Account-level call reporting has to be on. The mobile click-to-call integration must be disabled before enabling Call Details Forwarding or calls double count. Google's own call reporting stays on beside it. UK tracking numbers need identity verification on signup, so allow a week. Site-side click ID capture is table stakes. Capturing the call that never touched the site is the difference. [Qualified call tracking](/qualified-call-tracking) ---- # Budget is the limiter URL: https://firepixel.co.uk/advanced-google-ads/budget-is-the-limiter Summary: Why the daily budget should control spend in a Google Ads account, and why the target box on a budget-capped campaign should now be empty. Two controls limit spend in a Google Ads campaign: the budget and the target. Most accounts use both, and use the wrong one. Using the target as a brake means setting it tight enough that Google refuses auctions and the campaign underspends. It works, in the sense that spend stays down. It also means the campaign is passing on the clicks that would have been the best ones, because a tight average target can only be held by buying cheap. Using the budget as the limiter means setting the daily budget from what you can spend and letting the values steer the bidding. The machine spends the budget on the best available outcomes and the budget stops it there. ## How this used to work, and what changed Before 17 August 2026 there was a comfortable halfway house: a target set with enormous headroom. An account we ran had a target CPA of £1,000 on a portfolio strategy with an actual CPA around £300. The target never bound, the budget controlled spend, and one number changed when the client changed what they could afford. Google's [17 August change](/advanced-google-ads/17-august-setting-into-a-job) ended that arrangement. On a budget-limited campaign the target is now a setpoint, not a ceiling: a campaign delivering well under its target can be walked up toward it. Headroom stopped being free. The honest version of this page's advice is now simpler than it used to be: on a fixed budget, the target box should be empty. Maximise conversions, or maximise conversion value where the values are real, and let the budget do the constraining. The full argument, including why there is no safe number to type instead, is in [There is no right number for the target box](/advanced-google-ads/no-right-number-for-the-target-box). A maximum CPC cap on the portfolio can stay as the backstop against a runaway auction, checked weekly, because a backstop that starts binding has become a second constraint. ## What "everything else is noise" means Most of the industry debate around 17 August was about advertisers with unconstrained budgets and how their targets would behave. Almost nobody is that advertiser. If you have a fixed budget the setup is: budget limits spend, no target, values are real, check it weekly. ## Where a target does still matter If the budget genuinely does not bind, a target ROAS derived from your margin is the instruction that connects the account to the economics: you are telling the machine to buy all the value available at that return. And if a contract or cashflow makes efficiency a hard limit, a target is a deliberate stop loss, kept in the full knowledge that it now binds. Both are choices about your objective, not default settings. [Targets from unit economics](/targets-from-unit-economics) · [There is no right number for the target box](/advanced-google-ads/no-right-number-for-the-target-box) ---- # Brand lists vs negative keywords URL: https://firepixel.co.uk/advanced-google-ads/brand-lists-vs-negative-keywords Summary: Keyword negatives match strings. Brand lists match Google's entity for a brand and catch every variant. Why most accounts need both and have neither at account level. A negative keyword matches a string. A brand list matches a brand. That distinction cost a trades client a lot of money. Search terms in the account were full of a national repair franchise's name and its variants: the name with a town, the name run together as one word, the name inside longer phrases. The owner had added the obvious version as a negative keyword. The variants kept coming through, because a negative keyword controls terms according to negative-match rules, and synonyms, combined forms and related phrasings still need adding by hand. A brand list works differently. Google maintains an entity for each brand in its index, with the ways people write it. Adding the brand to a list and excluding the list blocks at the entity level, so it covers the variants, misspellings and related forms a single negative never will. When the thing you want to exclude is a brand rather than a phrase, it is the more complete control. ## Why this matters for Performance Max Without exclusions, PMax can serve against brand demand and take credit for it, both your own brand and competitors'. On that account's PMax campaign, two thirds of the visible search terms were competitor brand names. It looked efficient because those clicks were cheap and some of them converted. Most were people trying to reach the other company. Brand exclusions on PMax are the proper fix. One caveat: if you exclude your own brand from PMax, a Search campaign has to cover it, otherwise you have just handed your brand traffic to competitors. ## The account-level gap In every account we have audited this year, nobody had built a brand list. Very few had an account-level negative list either. Negatives lived in campaigns, added one at a time from the search terms report, and lost when the campaign was rebuilt. We build three lists once, at account level: job seekers, competitors, and complaints traffic. Every campaign inherits them. Then a brand list for competitors and, where PMax is running, a brand exclusion. One wrinkle since May 2025: brand settings for Search campaigns live in the AI Max panel, so adding a new brand list to a Search campaign needs AI Max on. PMax brand exclusions are unaffected. If you have turned AI Max off, as many did, you need to know that before you go looking for the setting. [API management](/api-management) ---- # Clarity and n8n instead of server-side tracking for lead gen URL: https://firepixel.co.uk/advanced-google-ads/clarity-and-n8n-tracking Summary: For lead generation the lead is the server-side event. Why we capture it in n8n, watch behaviour in Microsoft Clarity, and save server-side GTM for ecommerce. Server-side tracking got sold hard for a few years. For ecommerce it earns its place: purchase events with real values, browser loss recovered, ad blockers partly sidestepped. We run it there, on managed hosting, and leave it alone. For lead generation the case is weaker, because the event that matters happens off the site. A form submission is a proxy. The real event is a lead becoming a customer, and no amount of server-side tagging captures that. ## What we do instead The form posts to an n8n webhook. n8n stores the lead with its click IDs, landing page and timestamp, scores it, writes it to the CRM and fires the conversion to Google Ads with a value. One submission, one workflow, and every lead sits in a table you can query. When the page changes, the webhook does not care. When the CRM changes, one node changes. Microsoft Clarity watches behaviour. It is free, records sessions, draws heatmaps, and it is how you find out that the chat widget opens itself over the call button on mobile, or that the form is abandoned at the same field every time. It does the job of the expensive behaviour tools for lead gen sites. GTM stays for GA4 and the odd third-party tag, with a measurement plan and a dataLayer spec so the next developer knows what fires. Consent Mode is wired in with Cookiebot from the start, because a tracking setup that breaks when Google's compliance email arrives is a setup built on ground that will move. ## What you give up Some browser-level loss on the GA4 side, which for lead gen is an analytics problem and not a bidding one, since the bidding learns from the n8n upload. A hosting bill and a container you do not have to maintain. ## When we still recommend server-side Ecommerce. High-volume lead gen where the ad platforms' own tags are losing enough data to matter. Anywhere a client already has it working. It is a tool, and the lead gen tool is the webhook. [Tracking](/tracking) ---- # Your CRM only sends form leads back to Google URL: https://firepixel.co.uk/advanced-google-ads/crm-only-sends-form-leads Summary: Offline conversion uploads matched on GCLID miss every phone-originated customer. What that teaches Google, and how enhanced conversions fix it. A lot of well-run accounts have an offline conversion upload. Completed, paid jobs go from the CRM back to Google Ads, matched on the click ID that was captured when the lead came in. It is the right idea and it is better than most accounts manage. Ask one question: how does a phone lead get a click ID into the CRM? Usually it does not. The receptionist takes the call, types the name and number into the CRM, and there is no click ID because there was no form. When the job completes, the upload looks for a click ID to match on, finds none, and skips it. Every phone-originated customer is invisible to the upload. ## What Google learns from that Forms produce customers. Calls produce nothing. So bid on whatever produces forms. In a trades business where calls close at over 50 per cent and forms at about 20, that is the machine being taught the opposite of the truth. An owner we worked with spotted this himself once we described the mechanism. His CRM to Zapier upload had never sent a phone job back in two years. ## The fix Enhanced conversions for leads. The upload matches on hashed email or phone number as well as click ID, so a customer with no click ID still gets attributed to the click that produced the call. Google hashes the same fields on its side. Call tracking that captures the click ID on the call itself, so ad calls arrive with one. [Calls from the search results](/advanced-google-ads/calls-from-the-serp) covers how. And a loop rather than a one-way upload. Google to call tracking to the automation to the CRM and back to Google. Stage changes trigger the upload. New customers join the exclusion audience so their update calls stop counting. The CRM stays current because the automation does the boring part. ## The second leak Existing customers ring the number in the ad. That call counts as a conversion. The account is paying to be phoned by people it already has. A Customer Match exclusion, refreshed from the CRM on a schedule, stops it. [CRM feedback loop](/crm-feedback-loop) ---- # Landing pages for ads are not your website URL: https://firepixel.co.uk/advanced-google-ads/landing-pages-are-not-your-website Summary: Why paid traffic should land on a fast static page built for one job, and why the SEO site is the wrong place for it. The website has a job: rank, explain the company, serve existing customers, carry the blog. It has navigation, a history page, four hundred words of introduction and a chat widget someone added last month. An ad has one job: turn a click that cost money into an enquiry. The page it lands on should have the same job and nothing else. ## What goes wrong Ads pointed at the homepage, so the visitor who searched "emergency boiler repair leeds" has to find the right page themselves. Ads pointed at the SEO page, which loads in eight seconds on a phone and has a WhatsApp widget that opens over the call button. A client-built page in a page builder that does not talk to the tracking, so the leads it produces never reach the account. Attachment is the usual cause. The site was expensive, it ranks, and the owner does not want a second version of it. So the ads keep landing on it and the page never gets tested. ## What works A static page, no CMS. Under a second on mobile, nothing to hack, negligible hosting cost. One page per job: the service, the area, the price from, a tracking phone number, a short form. Navigation stripped. The form posts to n8n with spam protection and the lead arrives in the CRM with its click ID, the conversion fired with a value, all from one submission. Noindexed, so it does not compete with the SEO site. Branded. Focused is the point. Where there is a real angle, a page for it. A local specialist whose real advantage is something the national franchise cannot offer deserves a page saying exactly that to the people searching for that franchise's name. ## How it gets better Clarity recordings show where people stop. The form field that gets abandoned goes. The button nobody sees moves. Changes are made one at a time and the numbers decide. If the existing page beats the new one, the existing page stays. That happens, and it is fine, because now it has been tested. [Landing pages](/landing-pages) ---- # Google reps: a second pair of eyes, not a strategy URL: https://firepixel.co.uk/advanced-google-ads/google-reps-second-pair-of-eyes Summary: Working solo on confidential accounts means few people can ever look at them. Google reps can, and they see data the interface does not show. How to use that without taking the script. Ad accounts are confidential. I cannot post a screenshot in a Slack community, hand the login to a friend, or talk a problem through with another consultant who can actually see the numbers. Working solo, the list of people who are allowed to look at an account with me is very short. Google reps are on that list. So I use them, deliberately, as a second pair of eyes. ## What a rep can see that you cannot Reps sit on internal diagnostics that never appear in the interface. On one review call, a rep flagged that Quality Score in an account was being held back by a restricted click strategy: a diagnosis pulled from data on their side of the glass, not mine. That is not something any amount of staring at the interface would have produced. That is the real value of the channel. Account-level diagnostics you cannot pull yourself. Beta access. An escalation path when something in the account is genuinely broken and support-by-form would take weeks. A human who can look at the same screen, legitimately, and say what they see. ## Why I am not a Google Partner The Partner badge is earned partly through spend thresholds and adoption of Google's recommendations. That is an incentive structure, and incentive structures shape advice. A partner agency has targets to hit that have nothing to do with your account. I skipped the badge on purpose. No quota to hit, no recommendation score to protect, no reason to switch anything on except that the numbers say so. And the reps still take the calls, because the accounts spend money. Total freedom, plus Google's eyes when I want them. That is the trade, and it is a good one. ## The discipline The same channel that hands you a diagnosis will also hand you a script. Reps are expected to raise certain options because some advertisers fear certain numbers; I have written up [a call where the suggested target refuted itself in one column](/advanced-google-ads/no-right-number-for-the-target-box) once the rep committed to a number. Both things are true at once: the diagnostics are real, and the suggestions answer fears rather than maths. So the rule is simple. Reps are a diagnostic and escalation tool, never a strategy. Every suggestion gets held against the account's own numbers before it goes anywhere near a setting, the same as any other input to [the weekly loop](/advanced-google-ads/the-weekly-loop). Most suggestions fail that test. The ones that pass usually started as something the rep could see and I could not, which is exactly what a second pair of eyes is for. [The weekly loop](/advanced-google-ads/the-weekly-loop) · [There is no right number for the target box](/advanced-google-ads/no-right-number-for-the-target-box) ---- # Why Microsoft Ads holds its target when Google doesn't URL: https://firepixel.co.uk/advanced-google-ads/microsoft-ads-holds-its-target Summary: In our accounts, budget-capped Microsoft Ads campaigns deliver above their target ROAS instead of drifting. What that means for how you set them up. We run Microsoft Ads ourselves, and one behaviour stands out. A budget-capped campaign set to a target ROAS delivers above that target. It does not drift toward the number the way a Google campaign does, buying whatever cheap traffic is needed to hold the average. We do not have Microsoft's internals and will not pretend to. The practical reading is that the auction is thinner, the bidding is less aggressive about filling budget, and the target behaves closer to how people assume a target behaves: as a bound the campaign stays inside. ## What that changes On Google, a fixed-budget advertiser is best served by removing the target and letting budget limit spend, with values doing the steering. On Microsoft, a target on a capped campaign is still a usable control. The setup is different and importing Google's settings gets it wrong. The other difference is LinkedIn. Microsoft owns it, and Microsoft Ads lets you adjust bids on search campaigns by company, industry and job function. For B2B, where no search query tells you the searcher's company spends £50,000 a year on anything, that is the closest available signal to what you want. Google does not have it. ## How we run it Build for Microsoft's auction rather than importing. Use the new-account promotional credit as a measured test, with tracking live from the first click. Feed it the same CRM outcomes and enhanced conversions Google gets, so it learns from the same reality. Report it in the same warehouse so the two are compared on the same terms. For older demographics and B2B it is usually worth it. For a young consumer audience, sometimes not. The credit and the numbers decide. [Microsoft Ads](/microsoft-ads) ---- # There is no right number for the target box URL: https://firepixel.co.uk/advanced-google-ads/no-right-number-for-the-target-box Summary: Why Google's August 2026 bidding change has no fix you can type into the target box. The maths, the failure modes, a Google rep put on the spot, and what to actually do. One week after the change I have had time to reflect and see what is happening. There are complaints about campaigns tanking, budgets not spending, and lower quality leads. Personally I have seen a lot of fluctuation in CPAs and I am hoping it will settle down, but I fear the step up in CPA is going to be the new normal. ## What changed On 17 August 2026, Google changed how bidding works for campaigns that are limited by budget and use a target-based bid strategy such as Target CPA or Target ROAS. The change applies to Search, Shopping, Performance Max, Demand Gen and Travel campaigns. Display and Hotel campaigns already worked this way. App and video campaigns are excluded. Before the change, a budget-limited campaign with a target behaved like a bargain hunter. The system bought the cheapest conversions available first, and the budget usually ran out before the average cost ever approached the target. Google's own example: a campaign with a Target CPA of $10 that was actually converting at $5. The target sat in the settings doing nothing. The budget was the real constraint. After the change, the target means what it says. Google's help documentation states that budget-limited campaigns "will more consistently perform toward your bid target." In the same example, the campaign "will deliver more closely to a $10 actual CPA." The target has changed from a ceiling into a setpoint. The system now delivers to it from both sides. ## Why this matters: the same budget buys less Cost per acquisition is simple arithmetic. CPA equals budget divided by conversions. If the budget stays fixed and the CPA rises from $5 toward $10, the number of conversions falls. Same money, higher prices, fewer results. Spend does not change. What changes is what the spend buys. This is why the framing of "more consistent and predictable performance" deserves scrutiny. The performance becomes predictable at the level you typed into the box, which for an overachieving campaign is a worse level than the one you were getting. ## The obvious fix, and why it fails Google's recommended response is a tool called the Bid Target Adjustment Tool. It offers to lower your target to match your recent actual performance. Target was $10, actual was $5, so set the target to $5 and nothing changes. That is the advice most of the industry repeated. It fails for two reasons. First, the $5 was an average produced by a system that was free to hunt below it. Cheap auction days, quiet weeks, seasonal dips: the old system followed prices down and those savings accrued to you. Set $5 as a target under the new rules and the system delivers to $5 from both sides. When auctions dip cheaper, you no longer follow them down. The drift that produced your $5 is the exact behaviour you have switched off. The target now blocks the mechanism that created the number you set it to. Second, the $5 average came from skimming the cheapest inventory. The marginal conversion, the last one your budget bought, cost more than $5. Meanwhile every other affected advertiser is repricing upward at the same time, because their campaigns are also being walked toward their targets. Auction prices inflate. A $5 target in an inflating auction starts to bind, the campaign underdelivers, and budget goes unspent. So a target tuned to your actuals caps your upside and keeps your downside. Every branch of that decision lands at $5 or worse. ## There is no correct number Put the two failure modes together. Leave the target loose and the system spends your budget at worse efficiency, and volume falls. Tighten it to your actuals and you freeze yesterday's cream-skimmed average into a moving auction: unable to do better, still able to do worse. A theoretical right answer exists: your marginal CPA at the point of budget exhaustion. That number is not shown anywhere in the interface, it moves every day with auction conditions, and being wrong in either direction costs you. A number you cannot observe and cannot hold is not a number you can type into a box. The conclusion is that the box itself is the problem, for one specific group of advertisers. ## No account has one CPA Everything so far treats the account as if it has a single cost per acquisition. Real accounts do not. Performance varies across campaigns, across channels, and across days, and that variance is where a target does its worst work. Take a live example. A travel account running three campaign types side by side: over the last seven days, Demand Gen converting at $23, Search at around $32, Performance Max at $40. The account's trailing average sits at roughly $40 for the month. Now set a single target at that average, which is exactly what the adjustment tool and the trailing data will suggest. The Performance Max campaign delivering at $40 keeps delivering at $40. The Search campaign at $32 gets walked up to $40. The Demand Gen campaign at $23, the best thing in the account, gets walked up to $40. A target can never pull anything down below the number, and after 17 August it pulls everything beneath the number up to it. A target set from an average locks your worst campaign's economics onto your best campaigns. The same logic runs through time instead of across campaigns. Auction prices fluctuate. Some days conversions are available at $20, some days at $50. That fluctuation is usually described as a problem the target will solve, and it is the opposite: the fluctuation is cheap days existing, and the ability to buy them is worth money. On expensive days the target stops you spending, and that volume never comes back. On cheap days the system now delivers at your number instead of the market's. An uncapped campaign harvests the cheap tail of the distribution automatically. A target is the act of selling that option back to Google for nothing. ## Putting it to a Google rep On a routine account review call, a Google rep suggested adding a Target CPA to the Demand Gen campaign above, to control its fluctuating cost per conversion. So the argument got tested live. Screen shared, one question asked: you name the number. What target goes in the box? The rep checked the account data and suggested around $40, the trailing average. Which would walk the $23 campaign to $40, the $32 campaign to $40, and leave the $40 campaign at $40. When that was pointed out, the rep conceded the mechanics in full: whatever had been described was correct, "it works like this only." Then came the more revealing admission. Targets get suggested because some advertisers are afraid of cost per acquisition rising, so reps are expected to raise the option. The suggestion is a script written for advertisers who fear an uncapped number, and it answers the fear rather than the maths. Nothing about that account is special. The same spread, with a trailing average sitting above the best performers, exists in almost every multi-campaign account, so the same demonstration works almost everywhere. Ask anyone recommending a target to commit to a specific number, then hold that number against your best campaign's current CPA. The recommendation refutes itself in the time it takes to read one column. ## The optimisation argument Here is the core of it, and it takes four sentences. Call the budget B. Maximise Conversions is asked to get the most conversions possible while spending B. A Target CPA adds a second constraint to that same problem. A constraint can never improve the optimum of the problem it is added to: at best it does nothing, at worst it removes auctions you would have won and the volume goes with them. So the decision comes down to one question. Is your real objective to get the maximum output from a fixed budget? If yes, the target should come off. Switch to Maximise Conversions, or Maximise Conversion Value for revenue-based accounts, and let the budget do the constraining. That is what a budget is for. If your real objective is an efficiency number, then CPA is your true constraint, the budget was never the binding one, and you have a different problem with a different answer. This is Google's own documented option. The help page lists switching to Maximise Conversions or Maximise Conversion Value as a way to "capture the highest volume of conversions or conversion value for your set budget." It appears fourth in a list of five, after three variations of adjusting the number, and it is the only option printed with a warning attached. ## Honest limits of the argument Three concessions keep this claim honest. The argument is about the objective, and it says nothing about next Tuesday. Google's bidder is a learning system. Removing a target triggers a settling period of days to weeks, and performance during that window proves nothing in either direction. Judge the change after the system has resettled. The proof is a single-period argument and the system is a learner, so what it observes shapes what it can do next. The effect should be small when the budget binds, because both strategies buy from the top of the same ranked list of auctions, but it cannot be shown to be exactly zero. And a target can be a legitimate stop loss. If your business genuinely cannot survive the top end of the CPA range that an uncapped campaign might produce, or if you are contractually held to a CPA number, then CPA is a hard constraint for you and keeping a target is defensible. The August change makes that insurance more expensive than it used to be, but for some businesses insurance is worth buying. The same applies to campaigns that are only intermittently limited by budget: on the days the budget has headroom, a target is doing real work. None of these change the core answer for the advertiser whose budget genuinely binds and whose goal is maximum output. They define who that advertiser is. ## Why the right answer stayed buried No conspiracy is required. The incentives explain it. For Google, a budget-limited campaign pays the same regardless of bidding strategy, so the money is somewhere else: the next budget conversation. An account with no target is capped at its budget, and the only way to grow it is to send more money and hope. An account with a target and headroom scales on rails: spend rises with auction prices, with query volume, and with every recommendation that says more conversions are available at your target. The entire help page funnels toward "confidently increase your budget." The change converts budget-constrained accounts into candidates for target-constrained accounts, and target-constrained is the posture where Google holds the growth lever. For agencies and consultants, "remove the target" is self-erasing advice. Nothing to tend, nothing to optimise, no number to report against. Client accountability is denominated in CPA targets, and deleting the target moves accountability onto the budget, which the client owns. For the industry conversation, "here is the number to set before the deadline" makes an actionable post. "The box should be empty" makes a worse one, so it lost the distribution war. And underneath all of it, loss aversion. A cap that has never once bound still feels like protection, and removing it feels like risk. Nobody gets fired for keeping a decorative safety rail. ## What to do Pull every campaign with a Limited by Budget status running Target CPA or Target ROAS. For each one, answer the question: is the objective maximum output from this budget? If yes, remove the target. Switch to Maximise Conversions or Maximise Conversion Value, expect a settling period of one to two conversion cycles, and judge the result after it. If the resulting CPA is genuinely unacceptable, that reaction is information: it means CPA was your real constraint all along, and you should manage it as one. If no, because a contract, cashflow, or genuine tail risk makes CPA a hard limit, keep a target and set it deliberately as the constraint it now is, knowing it will bind. Or reduce your budget and use that to limit the CPAs. Portfolio bid strategies and shared budgets are in scope, and changes there happen at the portfolio or shared-budget level. Multi-channel campaigns such as Performance Max may also shift how traffic distributes across channels, which is worth watching separately. The one thing not to do is nothing. Any target is bad if you are working with a fixed budget and over-performing. Most advertisers are in that category and should remove the targets. [17 August: Google converted a setting into a job](/advanced-google-ads/17-august-setting-into-a-job) · [Budget is the limiter](/advanced-google-ads/budget-is-the-limiter) · [Targets from unit economics](/targets-from-unit-economics) ---- # Target CPA is an average, not a ceiling URL: https://firepixel.co.uk/advanced-google-ads/target-cpa-is-an-average Summary: Google treats target CPA as an average to hit, so junk leads end up funding good ones. How the mechanism works and what to do about it. People set a target CPA believing it caps what Google will pay for a lead. It does not. It sets an average Google must hit across the campaign, and the algorithm is free to hit it any way it can. That means it will happily pay £30 for a click it thinks is a good lead, provided it can buy enough £3 clicks that also register as conversions to bring the average back to target. When every form, call and chat counts as one conversion, cheap junk qualifies. Wrong numbers, existing customers ringing about a job, people trying to complain to a national brand: if the call lasts thirty seconds, it counts. The junk funds the good leads. The more competitive the auction gets, the more junk has to be bought per good lead to hold the average, which is why an account on a fixed target gets worse as CPCs rise even though the reported CPA stays flat. ## What this looks like in an account The reported CPA is on target. Conversions are steady. The owner says the phone rings less with real jobs. The search terms report shows the best query losing volume faster than the account overall while the worst query holds up. Job numbers in the CRM are flat or falling while the ads report nothing wrong. We saw exactly this on a trades account: account clicks down 20 per cent, the best converting term down 31 per cent, the poorest term down 19 per cent. The mix had shifted toward the cheap stuff because that was the only way to hold the number. ## What to do Give each conversion its real value and switch to value bidding, so the average is now an average of value and junk stops qualifying. Raise the call length threshold at the same time, so a thirty second call is not carrying an £80 value into the new objective. Put the CRM outcomes back into the account so the machine learns what actually closed. And let the budget, not the target, decide how much gets spent. [Targets from unit economics](/targets-from-unit-economics) · [CRM feedback loop](/crm-feedback-loop) ---- # What is advanced Google Ads? URL: https://firepixel.co.uk/advanced-google-ads/what-is-advanced-google-ads Summary: A definition of advanced Google Ads: derived targets, per-action values, calls captured from the search results, CRM outcomes returned, budget as the limiter, checked weekly. Advanced Google Ads means giving the bidding algorithm the inputs it needs to do its job: conversion values derived from your unit economics, qualified outcomes returned from your CRM, calls captured from the search results page, and budget as the only limiter. Then checking its work every week. That definition needs unpacking, because "advanced" gets used to mean clever bid scripts, seventeen campaign types or a bigger management fee. ## What the machine is good at Google's smart bidding predicts the probability that a given auction ends in the outcome you have told it to want, and bids accordingly. It does this across signals nobody can see or set manually. It is very good at it. Almost every attempt to outsmart it with manual bids or elaborate structure has lost for years now. So the job of the advertiser has changed. Bidding is done. What is left is deciding what to tell the machine to want, making sure it can see the outcomes that matter, and checking that what it bought is what you asked for. ## The five inputs Targets derived from economics. A target CPA someone made up tells the machine to hit an average by any means. A value derived from close rates and job value tells it what each outcome is worth. [Targets from unit economics](/targets-from-unit-economics). Per-action values. A completed job, a form fill, a thirty second call and a WhatsApp message have different values. Under target CPA they are all worth one. Under value bidding the machine reads the difference. Calls from the search results. In trades and local services the biggest lead source never visits the website. If it is not captured and scored, the machine is buying it blind. [Qualified call tracking](/qualified-call-tracking). Outcomes returned. The CRM knows what became a customer. Until that goes back to Google, phone leads included, the machine learns from form fills. [CRM feedback loop](/crm-feedback-loop). Budget as the limiter. Spend is controlled by the budget. The target is set with headroom so it guides rather than brakes. [Budget is the limiter](/advanced-google-ads/budget-is-the-limiter). ## The weekly check The machine bids, the outcomes come back, and every week the numbers are checked. Spend, value, search terms, conversion mix, impression share. A warehouse and an automation do the first pass. A person does the second and decides. [The weekly loop](/advanced-google-ads/the-weekly-loop). ## What it is in one line We trust the machine, and we feed it. ---- # Your target CPA is a made-up number URL: https://firepixel.co.uk/advanced-google-ads/your-target-cpa-is-made-up Summary: Most Google Ads targets come from a feeling, a previous agency or whatever the account happened to be doing. Here is how to derive one from your unit economics instead. Ask where the target came from. Every account has one, and the answer is almost always some version of "it seemed about right". It was what a previous agency ran. It was what the account was doing the month someone set it. It was a figure the owner felt they could afford per lead, which is a fine instinct and a poor target, because affordability per lead depends on which leads, and the target treats them all the same. We took over an account recently with a £9 target. Forms and phone calls were both counted at £9. The owner told us forms closed about 20 per cent of the time and calls closed over 50 per cent, and that 90 per cent of what closed became a completed job worth a couple of hundred pounds. Nobody had put those figures next to the target. When we did, the form was worth about £37 and the call about £94. Under a £9 target the machine had no way of knowing. ## How to derive one Four numbers. What proportion of each lead type becomes a customer. Forms, ad calls, website calls, chat. Your CRM has it, or your receptionist does. What a customer pays, on average, for the first job. Or the first order, for ecommerce. What proportion of booked work actually completes. What you can spend. Value per lead type is close rate, times completion rate, times job value. That number goes into the conversion action. The campaign moves to value bidding. The target ROAS, once there is enough data to set one, comes from your margin, not from a hunch. ## Why it matters A target is an instruction. "£9" says: buy anything that looks like a conversion at an average of £9. "£37 for a form, £94 for a call" says: buy calls, and pay more for them. Those produce different accounts from the same budget. [Tell us your unit economics and we'll work out your targets.](/targets-from-unit-economics) ---- # The weekly loop URL: https://firepixel.co.uk/advanced-google-ads/the-weekly-loop Summary: The weekly process behind an advanced Google Ads account: a warehouse pulls the numbers, an automation flags what moved, a person decides and signs off. We trust the machine to bid. We do not trust it unchecked. The weekly loop is what the checking looks like. ## Monday, before anyone opens the account The warehouse has last week's data: Google Ads, Microsoft Ads, GA4, the CRM outcomes, the call scores. An n8n workflow runs the checks. Spend against budget, by campaign. CPA and conversion value against the trailing four weeks. Conversion volume by action type, so a jump in thirty second calls or a drop in forms shows up as itself and not hidden inside a total. Search term mix, with the share of brand, competitor and junk terms. Impression share and lost-to-budget. The offline upload log: what went back, how many matched, what value. Anything outside its normal range is flagged with the number, the previous number, and the change. That is the machine's half of the loop. ## Then a person The flags get read. Most weeks there are two or three and they take twenty minutes. Some weeks there is one that matters: the best converting query losing volume faster than the account, the CRM saying jobs are flat while conversions are up, a competitor appearing in the Transparency Centre with a new landing page. Decisions get made and written down. Values updated from last month's CRM data. A negative list extended. A budget moved. A conversion definition corrected where the CRM says the mix has shifted. Changes go through the [API](/api-management) where they are bulk, or the interface where they are not, and either way they are reviewed in the interface before they stand. ## Why weekly Monthly is too slow. Since [17 August](/advanced-google-ads/17-august-setting-into-a-job) the relationship between target, budget and bid cap on a capped campaign has to be watched, and a month is long enough for CPCs to run away. Daily is theatre; the data is too noisy to act on and the machine needs room to settle. Weekly is the rhythm that catches a real change without reacting to a Tuesday. ## What the client sees A short note each week if something changed, and silence if nothing did. The dashboard, on the warehouse, whenever they want it. A log of every change and why. [Data warehouse](/data-warehouse)