GEO can mean two very different things. Some practitioners use it for “Generative Engine Optimization.” In performance marketing and analytics, GEO almost always means geographic performance—how campaigns perform by country, region, city, or DMA. This guide is about geographic performance. You’ll get practical, replicable steps in GA4, Google Ads, and Meta Ads, plus methods to compare locations fairly, unify data, and stay privacy‑safe.
Before You Start: Set Up for Reliable GEO Reporting
Geographic reporting is only as good as your measurement hygiene. Think of it this way: if conversions, UTMs, and consent are inconsistent, your location breakdowns inherit the same noise.
Use consistent UTM tagging for all paid media and document a naming convention that includes location cues when relevant (e.g., campaign/ad set names that reference a country or region when running localized variants).
Define clear conversion events and attribution settings in GA4 and align them with your ad platforms.
Implement Consent Mode where applicable so analytics respects user choices; be aware that modeling can fill gaps when consent is not granted. See Google’s overview in the Tag Platform docs under Consent Mode for how signals affect measurement in practice: Consent mode overview — Google Developers.
Remember that GA4 is designed not to store IP addresses; IP-derived geography is computed at collection and privacy protections (including thresholds) can limit very granular reporting. For geo dimensions available in APIs, see Google’s schema: GA4 Analytics Data API — Geo dimensions.
GA4: See Performance by Country, Region, and City
GA4 includes standard geo dimensions (Country, Region/State, City, Continent, Subcontinent, and often Metro). Here’s a fast, repeatable workflow you can use week after week.
Standard Reports (quick checks)
Go to Reports > User > User attributes > Demographic details. Switch the primary dimension to Country, Region, or City. Add secondary dimensions like Session default channel group or Source/Medium to correlate geo with acquisition.
Use date comparisons (e.g., last 28 vs. previous 28) to spot emerging locations.
Explorations (deep dives and multi‑dimensional pivots)
Go to Explore > Free Form. From Variables, add geo dimensions (Country, Region, City, Metro) and your key metrics (sessions, conversions, revenue). Drag rows/columns to pivot by location and campaign/medium.
Build segments for “Top 10 cities by conversions” and compare behavior metrics (engagement rate, average engagement time) to validate performance quality.
Real‑Time (launch monitoring)
During launches, use Real‑Time to confirm events and traffic are appearing in intended locations. It won’t replace full analysis, but it will catch obvious geo misconfigurations early.
Advanced options when you need more control:
API reporting: Query geo dimensions through the Analytics Data API for scheduled exports or dashboards; Google documents supported fields in the schema: GA4 Analytics Data API — Geo dimensions.
BigQuery export: The GA4 export includes a geo record (country, region, city, metro). It’s great for joining with ad platform geo reports and is not sampled; see the official schema: GA4 BigQuery Export schema.
If city‑level data looks sparse or inconsistent, roll up to region or extend the date range; some demographic/geo combinations also trigger privacy thresholds, so absence can be protective rather than a tracking bug.
Google Ads: User Location vs. Location of Interest (and What to Do With It)
Google Ads can attribute impressions and clicks to where a person was located (user location/presence) or where they showed interest (e.g., searching about a place). These signals affect both delivery and reporting. Google’s official geographic targeting and reports article explains the distinctions and where to view them: About geographic targeting and reports — Google Ads Help.
Find your geographic performance
In the left navigation, open Reports > Predefined reports (Dimensions) > Geographic > User location or Geographic (matched locations). User location emphasizes physical presence; Geographic can include interest.
Alternatively, at the campaign or ad group level, open Locations to see performance by country, region, city, or postal code (availability varies by market and campaign type).
Diagnose presence vs. interest
Compare User location vs. Geographic (matched) reports. If you see volume from outside target areas, you may be allowing “Presence or interest.” Tighten to Presence if that fits your strategy.
Take action by location
Increase bids or budgets in profitable locations. Add exclusions for low‑performing regions. For portfolio strategies (tROAS/tCPA), consider separating locations with very different economics into distinct campaigns to give Smart Bidding clearer targets.
Export for deeper analysis
Use the download icon in the table to export CSV/XLSX, or pull via the Google Ads API’s geographic resources to automate recurring reports (see the developer docs hub: Google Ads API).
Caveats to keep in mind:
VPNs and commuters can blur physical presence, especially at city/ZIP levels.
Some granularities (postal code, DMA) aren’t available everywhere, and sensitive categories may restrict targeting/reporting.
Meta Ads: Break Down Results by Delivery Location
In Ads Manager, geographic analysis is typically a breakdown applied to your performance table rather than a separate persistent report. Meta’s Help Center documents available breakdowns and export options (search “Breakdowns in Ads Manager” and “Export Ads Manager table” in the Help Center): Meta Business Help Center.
Apply geography breakdowns
Open Ads Manager and select the level (Campaigns, Ad Sets, or Ads). Click Breakdown near Columns.
Choose a geography option such as Country, Region/State, DMA (US), or City. The exact labels can vary; some breakdowns won’t appear for certain objectives or placements.
Evaluate by location
Review spend, impressions, clicks, conversions, CPA/CAC, and ROAS. If you use Advantage+ or broad targeting, breakdowns surface where delivery concentrated and where results emerged.
Export your table
Click Reports or Export to download CSV/XLSX. For recurring pipelines, consider using the Marketing API to extract the same breakdowns programmatically.
Notes:
DMA is US‑specific, and not all geos are available for every objective.
Very small location audiences may be aggregated or hidden for privacy.
Location Signals: What Each Platform Actually Means
Different systems name and derive locations differently. Use this quick reference when results don’t line up across tools.
Signal
GA4
Google Ads
Meta Ads
Physical presence
Derived from network/location signals at collection; exposed as Country/Region/City in reports and exports
“User location” (presence) reports where the person was physically located
Delivery location breakdown (Country/Region/City/DMA) reflects where ads were served
Interest‑based location
Not applicable in standard GA4 geo dimensions
“Location of interest” can appear in matched locations even if the person is elsewhere
Not directly exposed; delivery breakdown focuses on where ads ran
Matched/combined signal
Not applicable
“Geographic (matched)” can blend presence and interest depending on settings
Not applicable
Make Fair Comparisons: Normalization and Decision Rules
Raw winners by spend or conversions often mirror population size. To find true standouts, normalize.
Per‑capita metrics: Conversions per 100k population or revenue per million residents help you compare New York with Nashville sensibly.
Indices: Divide a location’s metric by your portfolio median and multiply by 100. A “CVR index” of 130 means the city converts 30% better than typical.
Z‑scores: Useful for large portfolios to flag statistically unusual locations. Combine with minimum volume thresholds so you don’t chase noise.
Decision guardrails you can actually use:
Don’t make city‑level bid or budget changes until you have at least 100–300 clicks in that city and a handful of conversions, adjusted for your baseline conversion rate. Use rolling 14–28‑day windows to smooth seasonality.
Aggregate thin geos up to region/DMA. If results change direction when you roll up, you were underpowered at city level.
When testing localized creative or landing pages, cluster comparable cities (size and baseline CVR) so your geo‑split isn’t biased by wildly different markets.
Unify GEO Data Across Platforms (APIs/Exports)
Cross‑platform questions—like “Which cities are profitable across all channels?”—require joining exports.
GA4: Export geo via the Analytics Data API or use the BigQuery export (geo.country, geo.region, geo.city, geo.metro). The BigQuery route is ideal for unsampled joins at event level; see the official schema: GA4 BigQuery Export schema.
Google Ads: Export the Locations/Geographic reports in the UI or query via the API’s geographic resources. Keep both user location and matched location handy when diagnosing discrepancies. Google’s geographic targeting and reports article remains the canonical reference (no need to re-link here).
Meta Ads: Export Ads Manager tables with the geography breakdown or use the Marketing API. Meta’s Help Center documents the exact breakdown availability by objective and placement.
Reconciliation tips:
Create a canonical location dimension for joins. For countries, use ISO codes. For US states, map names to standard two‑letter codes. For DMAs, store Nielsen DMA codes. Keep a mapping table to translate GA4 location names to ad platform codes.
Join on date + canonical location. Expect minor discrepancies due to attribution windows, modeling, and interest‑based signals in Google Ads.
Privacy and Compliance (Consent, IP, Sensitive Locations)
Here’s the deal: great geo analysis respects user choices and avoids unnecessary precision.
Consent Mode: If you operate in regions with consent requirements, implement Consent Mode so tags adapt collection based on consent and modeling fills some gaps. Start with the official overview; we linked it earlier.
IP and GA4: GA4’s design uses IP at collection only to derive location and doesn’t store it; combined with thresholds and aggregation, this can limit hyper‑granular breakdowns—by design.
Sensitive locations and policies: Some platforms restrict targeting around sensitive locations or categories. Follow platform policies and avoid storing any personal identifiers with location exports.
Data retention and access: Set retention windows with legal/compliance, limit who can access raw geo exports, and avoid persisting precise GPS or address‑level data unless you have a documented, lawful basis.
Troubleshooting GEO Reports
Presence vs. interest confusion (Google Ads): If you see clicks from outside your target, check whether your campaign used “Presence or interest” and compare User location vs. Geographic reports.
Mapping differences: GA4, Google Ads, and Meta use different location dictionaries. Use a mapping table to reconcile names/codes. If a city is missing, roll up to region and compare.
Thin data and thresholding: City‑level counts that look inconsistent may be suppressed for privacy or underpowered statistically. Extend the date range or aggregate to region/DMA.
Delayed conversions and modeling: Attribution windows and modeled conversions can shift numbers after the fact. For directional decisions, rely on rolling windows and re‑query before acting.
Putting It All Together
Start with trustworthy inputs (UTMs, conversions, consent). Use GA4 for behavioral context and cross‑channel geography, then layer in platform reports where bidding and budget decisions happen. Normalize results to account for market size, and only act once you have enough volume. Automate exports and joins so you can spend your time on decisions, not spreadsheets. Questions to ask every week: Which locations have enough data to warrant action? Where should budget move next? And what localized tests will help you learn faster than your competitors?
Accelerate your organic traffic 10X with QuickCreator