The ads you can't see are the ones that beat you
Type "emergency plumber" into Google from Burnaby and you get three, maybe four sponsored results up top. Now fly to Calgary, or just tell Google you're there, and the lineup changes completely. Different advertisers. Different offers. Sometimes an ad-stuffed SERP where the first organic result hides below the fold; sometimes a page with no ads at all.
That gap is the whole problem with planning a paid campaign for a market you can't physically stand in. You're about to bid on keywords in a city you've never searched from, against competitors whose ads never render on your own screen.
Google says this outright. Its location targeting docs explain that ads get served on a user's location signals, and its ad preview guidance tells advertisers to use the Ad Preview and Diagnosis tool instead of searching normally, because a regular search "may register as an impression that has no chance of leading to a click," and because your own results are skewed by where you are and what you've searched before.
What Google puts above the organic results
Google runs the ad auction per query, and location is an input. The gl parameter sets the country of the search. The hl parameter sets the interface language. And uule encodes a specific canonical location, a city or region, down to a precise place Google recognizes from its Geotargets dataset.
Change the encoded location and you change which advertisers are eligible to show, because advertisers set their own geographic targeting. A Toronto HVAC company bidding only on the GTA won't surface for a Vancouver-encoded search, even on the identical keyword. So the ad block you preview from one city tells you almost nothing about the competitive picture in another.
The number of ad slots shifts too. Google typically shows up to four text ads above organic and up to three at the bottom, per its Search ads format docs. Whether a given query fills those slots depends on advertiser demand in that location. A commercial keyword in a dense metro shoves organic listings down. The same keyword in a smaller market might return one ad, or none.
Why a rank tracker won't tell you the ad picture
Rank trackers report positions. They're built around organic: where a keyword sits, how it moves week to week. Paid results live in a separate auction that runs fresh on every query, so the ad you saw an hour ago may not be the ad the next searcher sees. That's real-time and personalized in ways a scheduled crawl handles badly.
What you want before you commit budget is the live SERP as a searcher in the target city sees it. How many ads load, who's running them, what their headlines and sitelinks promise, whether there's a local pack fighting for the same intent. You get that by loading the actual Google results page with the target city's location parameters attached.
That's the mechanic behind comparing two locations in anywhereserp. It builds the geo-targeted URL from gl, hl, and uule using Google's official Geotargets data, so you're looking at the page a searcher in that market gets, not the page your browser hands you back in Burnaby. Set one side to your home city and the other to the city you're planning to enter, and the difference in the ad block sits right there side by side.
A Canadian wrinkle: language flips the auction too
Preview "assurance auto," car insurance in French, with hl set to French and a Montréal location, and you're looking at a different set of advertisers than the English "car insurance" pulls in Ontario. Advertisers target languages as well as places. A campaign that ignores the French-language SERP in a bilingual market is planning against half the competitive picture.
This matters more than most non-Canadian guidance admits. Quebec's language law framework and the plain reality of how Montréal searches mean the French-language auction is its own market. If you're a national advertiser pricing out Quebec, the English preview undercounts your real competition. I've covered the organic side of this in the bilingual SERP audit. On the paid side the same trap applies, and it's arguably worse, because ad targeting is explicitly language-scoped.
Reading a preview before you build the campaign
Load the target-city SERP for your money keywords and look at three things at once.
Count the ads. Four sponsored slots at the top plus three at the bottom is a saturated, expensive keyword. You're walking into a bidding war and organic clicks will be scarce. One ad or none means either low commercial intent or an underserved market you could enter cheaply.
Read the advertisers' copy. Their headlines and sitelinks are their positioning, paid for and public. If every competitor in Calgary leads with "24/7 emergency" and you were planning to lead with price, that's worth knowing before your first dollar clears. You're reading their strategy off the page they paid to put in front of exactly the customer you want.
Check what sits beneath the ads. A three-pack of local businesses under the sponsored block means you're up against free Google Business Profile visibility on top of the paid slots. In that layout, a paid click has to beat both the ads above it and the local pack below it.
The point of doing this before launch isn't to admire the SERP. It's that the auction you're about to enter has a shape: number of players, their offers, the room left for organic. That shape is specific to the city and the language you're targeting, not the one your screen defaults to. Google serves ads by location. Your preview should be built by location too, or you're bidding blind on a market you've never actually seen.
