SEO Fundamentals

USA Web Traffic: What Actually Counts as US in Your Reports

USA web traffic is counted three ways: by search origin in Search Console, by IP in GA4, by your own lookup in logs. What counts as US, and which to trust.

S SparkCliks 0 20 min read
Share
USA Web Traffic: What Actually Counts as US in Your Reports

USA web traffic isn't one number. Search Console counts a US click when the search came from the United States, GA4 counts a US visit when a lookup of the visitor's IP address lands there, and your server log counts whatever your own lookup database says, so one visit can be American in one report and foreign or missing in another. That gap is where buyers of US traffic get confused, and where a vendor's "delivered from the US" can be true and still not match your reports. Below is what each report counts as US, the cases that fall between them (Puerto Rico is the one few people expect), a way to compare the reports without tripping over their different units, and which number to judge a US purchase by before you pay.

USA web traffic: the short answer

Every report that shows USA web traffic has already answered one question for you: where was this visit? Each one answers it from different evidence, and none of them shows its working.

ReportWhat makes a visit "US"What it countsWhat it can't see
Google Search ConsoleThe country the search came fromClicks and impressions on Google's search resultsAny visit that didn't start with a Google search
Google Analytics 4A lookup of the IP address, made once when the data is collectedVisits where your tag ran and was allowed to send dataVisits that never ran the tag, and the IP address itself, which GA4 doesn't keep
Server or CDN logYour own lookup database, or a country code your CDN addsEvery request, automated ones includedWho or what was behind the address
A traffic seller's dashboardThe seller's own check when it sent the visitWhat it sentWhat your reports did with it

Two rules follow from that table. The reports will disagree, and much of the disagreement comes from the definitions rather than from errors, so compare the share of each report that's American, not the raw counts. And "US" in every one of them describes an address or a search location, never a nationality, a home or a customer.

Search Console: where the search came from

Google's documentation defines the dimension in one sentence: "The country dimension groups data by the country where the search originated" (Search Console Help). Three things follow from it.

It only sees searches. A US click in Search Console is a click on your listing in Google's results, from a search Google placed in the United States. Visits from ads, email, social posts, links on other sites or a typed address never appear, whatever country they come from. The report also splits by search type, covering "web, image, video, or news results" (Search Console Help), so check which one is selected before you read the US row.

Google Search's idea of where a searcher is goes beyond the IP address. Its help page lists the sources it uses to estimate location: a device's precise location if the searcher allows it, home or work addresses saved in their Google Account, the general area recorded with past activity, and the IP address, about which it says: "IP addresses are roughly based on geography" (Google Search Help). Google doesn't say which of those sources decides the Search Console country. It does tell you that Search Console and GA4 aren't reading the same evidence, so don't expect their US shares to match exactly.

The US row is a code, and the territories have their own. The Search Console API's country filter takes a "3-letter country code (ISO 3166-1 alpha-3)" (API reference). The United States is USA and Puerto Rico is PRI, according to the UN's country code list (UN M49), so searches from San Juan get a row of their own. The full list is further down.

If you're using this report to choose a country to target, let Search Console decide where covers that method. Here the only question is what the US row contains.

Free trial

Stuck on page two?

Real human clicks that lift your CTR and move you up the rankings.

GA4: where the IP address lands

GA4 has one source of location, and Google's developer reference names it. The Country ID dimension is "The geographic ID of the country from which the user activity originated, derived from their IP address. Formatted according to ISO 3166-1 alpha-2 standard." Region and city are described as derived from the IP address too (GA4 API schema). ISO 3166-1 gives Puerto Rico, Guam and the other inhabited territories two-letter codes of their own, so a filter of Country exactly matches United States leaves every one of them out. Three more consequences matter for a US report.

The verdict is final. Google says that "In Google Analytics 4, IP masking is not necessary since IP addresses are not logged or stored" (Analytics Help). The lookup happens once, as the data comes in. If GA4 files a visit under the wrong country, there's no address left in GA4 to check it against, which is why any audit of US traffic has to start from your own log.

One person can sit in two country rows. Users is a count of distinct people over your date range. Someone who visits from Chicago in the first week and from Toronto in the third can appear in both the United States and Canada rows, but only once in the total. So country rows can add up to more than the total, and the difference is a rough count of users placed in more than one country. Quote the total, never a sum of rows.

City can be switched off, country can't. GA4 lets you switch off "granular location and device data" collection "on a per-region basis." With it off, Analytics stops collecting City and the city's latitude and longitude, along with device details such as model and screen resolution, while Country and Region aren't on that list (Analytics Help). Google's placeholder for a dimension it "hasn't received any information for" is (not set) (Analytics Help). So a US report where every city reads (not set) points to a setting in your property's data collection options before it points to your traffic.

None of this covers the other half of GA4's US question, which is whether a visit reaches it at all. Consent choices, privacy signals and blockers remove US visits before any lookup happens, and why analytics shows less US traffic than arrived covers that side and how to measure it.

Server logs: whatever your lookup says

A server log line records an IP address, a time and a request. It doesn't record a country. The country in any log report was added afterward by a lookup database, in your log analysis tool or at your CDN, so your log's US figure is only as good as the database behind it.

Some CDNs do the lookup and pass the answer along. Cloudflare, for one, documents a request header that "contains a two-character country code of the originating visitor's country," with a special value, XX, "Used for clients without country code data" (Cloudflare docs). A log built on that header has a third bucket beside US and everywhere else: unknown. Count it before you quote a US share.

A lookup database can also hold more than one country for a single address. MaxMind's GeoIP responses separate the country where MaxMind "believes the end user is located" from the registered country, "the country in which the ISP has registered the IP address," and a represented country, for which its example is "an overseas military base" (MaxMind developer docs). An address on a US base in Germany can therefore be German by location and American by representation, and the answer in your report depends on which field your tool reads.

Two more habits of logs matter for US numbers. They keep every request, so automated visits from US servers that never run your analytics tag stay in the US count. And two databases can place the same address in different countries, which is why a seller's US and your report's US don't always line up.

Sellers and ad platforms: the US you paid for

A seller's "US" is a fourth definition, and it's the one you're paying for. Prices and supply are covered in what US traffic costs and where it comes from. Here the question is only what "US" means in each case.

Automated visits. Our Website Traffic and Realistic Traffic campaigns take a country setting, and our delivery policy says the traffic "is sent from the geo-targeted location ips only," from data center IP addresses. That's our side of the check, at the moment of sending. GA4 then runs its own lookup, and the same policy warns that "sometimes Google Analytics might show different countries in the report." A small share outside the United States row is two databases disagreeing. A large share is a delivery question, and what a US traffic guarantee can and cannot promise shows how to tell the two apart.

Human search clicks. SERP Clicks orders can be limited to clickers physically located in your country, who aren't allowed to mask where they are. Their "US" rests on each person's own connection and on Search Console's reading of where the search originated, which is closer to what most buyers picture as an American visitor than an IP address alone. The service is desktop only, so read it with Search Console's Device filter set to Desktop.

Territories are separate targets. Our country list gives the five inhabited territories their own entries and ISO codes, apart from the United States, just as GA4 and Search Console do. If they're part of your market, target each one as a country, Puerto Rico included, rather than assuming a United States campaign covers them.

Ad platforms have a definition too, and the default is loose. In Google Ads, the default location option is "Reach people in, regularly in, or who've shown interest in your targeted locations (Presence or Interest)." Google calls it the "default and recommended option" and says it reaches people likely to be in the location "as well as people who have shown interest in your targeted locations." The stricter choice is "Reach people in or regularly in your targeted locations (Presence)" (Google Ads Help). On the default, a US-targeted campaign can pay for clicks from people outside the United States, and GA4 files them wherever their IP addresses land. If part of your US ad spend shows up as Canada or the UK, check that setting before you blame the traffic.

One visit, three verdicts

The quickest way to see the definitions collide is to run single visits through all three reports. Each row is a type of visit, not a measured case.

The visitSearch ConsoleGA4Server log
Someone in Ohio searches, clicks your result and accepts your bannerUnited StatesUnited StatesUS
The same person types your address the next dayNot counted, no searchUnited StatesUS
Someone in San Juan searches and clicksPuerto RicoPuerto RicoPR, in a lookup that uses ISO codes
An American on vacation in Mexico searches on hotel Wi-FiWhere Google Search places it, most likely MexicoMexicoMX
Someone in Toronto on an employer network that reaches the internet through New YorkGoogle Search's estimate, which can use the device's own locationUnited StatesUS
An automated visit from a US data centerNot counted, no searchUnited States, if your tag runsUS, with a hosting company as the network owner
A US visitor whose address the lookup can't placeWhere Google Search places itNot in the United States rowXX, if your country code comes from a Cloudflare header

Read down the GA4 column and "US traffic" means traffic from US addresses: the Toronto commuter counts, the vacationing American doesn't, and the data center visit counts whenever it runs your tag. The Search Console column is narrower and closer to an American searcher, but blind to every visit that didn't start on a Google results page.

Where the United States ends in a report

GA4 and Search Console both report countries by ISO 3166-1 code, two letters in GA4 and three in the Search Console API. Under that standard, the five inhabited US territories are countries of their own.

PlaceGA4 codeSearch Console API codeInside a "United States" filter?
The 50 states and Washington, DCUSUSAYes
Puerto RicoPRPRINo
GuamGUGUMNo
U.S. Virgin IslandsVIVIRNo
American SamoaASASMNo
Northern Mariana IslandsMPMNPNo
A US military base abroadWherever the lookup places itWherever Google Search places the searchOnly if the lookup says US

The three-letter codes come from the UN's country code list; the two-letter codes come from the Unicode CLDR data our own country list is generated from.

Whether those rows belong in your US figure is a business decision, not a data one. A store that ships to San Juan at mainland rates should count Puerto Rico as home market, and a service that can't serve Guam should leave Guam out. Decide once, write it down and add the rows yourself, because GA4 and Search Console have already decided for you, and they decided no.

Addresses no lookup can place are the other edge. They sit outside the United States row in every report, wherever the person really was, and in a log built on a CDN header they're the XX bucket.

Worked example: four US shares for one month

Here's how to put the reports side by side without tripping over their different units. Compare shares, not counts: the fraction of each report that's American. Counts differ for reasons that have nothing to do with location, while a share asks every report the same question. Every figure below is an example for illustration, not SparkCliks data and not a study result.

The example site is a US store that shows an opt-in consent banner to visitors in Europe and the UK, and no banner to US visitors.

Step 1: fix the window. Use the last 28 full days, ending two days ago so recent data has settled, and the same dates in every tool. Search Console dates run on Pacific Time and GA4's on your property's time zone, which shifts how US hours read, but over 28 days the edges barely move a share.

Step 2: Search Console. Open Performance, then Search results. Keep the search type on Web, set the dates and open the Countries tab. Note total clicks and the United States row, plus any rows for Puerto Rico, Guam or the U.S. Virgin Islands.

Step 3: GA4, Google organic only. In Explore, start a Free form exploration. Rows: Country. Values: Sessions. Filter: Session source / medium exactly matches google / organic. Note the total and the United States row.

Step 4: GA4, every channel. Remove the filter and note the same two numbers, plus the territory rows. Then switch Values to Active users, add up the country rows and compare that sum with the total.

Step 5: the log. Count successful requests for HTML pages over the same days, drop user agents that declare themselves bots, and group by country code. Note US, the total and XX.

Step 6: line them up.

What was measured (example)USTotalUS share
Search Console clicks, web search5,8808,40070.0%
GA4 sessions, google / organic5,2907,15074.0%
GA4 sessions, all channels11,08021,30052.0%
Log requests for pages, declared bots removed41,60064,00065.0%
GA4 sessions from Puerto Rico, Guam and the U.S. Virgin Islands11421,3000.5%
Log requests with no country (XX)90064,0001.4%

And the user check from Step 4: the country rows sum to 9,410 active users against a total of 9,260, so roughly 150 users sit in more than one country row.

Step 7: read the gaps.

  • Search Console against GA4 organic, 70.0% against 74.0%. Same kind of visit, a Google search and a click, read by two location systems, so they rarely match exactly. Here the direction has a cause: the banner asks European and UK visitors first and US visitors never, so GA4 loses more non-US search visits than US ones, and its US share rises without one extra American arriving. Had the gap run the other way, the first suspect would be US visits dropping out before the tag runs.
  • GA4 organic against GA4 all channels, 74.0% against 52.0%. Not a location problem at all. This store's email list and social followers are more international than its searchers, so the other channels pull the share down. Break the exploration out by Session default channel group before anyone reports a US drop.
  • GA4 against the log, 52.0% against 65.0%. The log keeps requests GA4 never sees. In this example the big group is automated requests from US servers that don't identify themselves as bots, and they push the log's US share up. A different lookup database adds a smaller difference on top.
  • The edges. The 114 territory sessions and the 900 unplaced requests aren't in any US figure above. And because roughly 150 users sit in more than one country row, adding a US user count to a non-US user count overstates the audience by about 150 people.

Step 8: write your definition down. Finish with one sentence everyone who reads your reports agrees on. For the example store: "US web traffic means GA4 sessions from the United States and Puerto Rico, all channels, excluding bought campaigns by landing page, read in the property's time zone. Search Console's US row measures US search demand, and the log settles disputes with vendors." Put it at the top of the report, where nobody can miss it.

Which US number to judge a purchase by

If you're paying for US traffic, choose the report before you pay. Each product produces a different kind of US visit, and only one report measures each kind properly.

What you boughtJudge it in"US" there meansWhat a pass looks like
SERP Clicks limited to clickers in the USSearch Console, Countries tab, United States row, Device set to DesktopWhere the search originatedUS clicks up by roughly the number delivered
Website Traffic or Realistic Traffic targeted at the United StatesGA4's United States row, checked against a sample of addresses in your logWhere the IP address landsThe US row up by roughly the delivered volume, a small share in other countries, nothing new in Search Console
US-targeted search adsThe ad platform's location report, then GA4Presence or interest, unless you changed itMostly US, with some clicks from elsewhere on the default setting
Nothing yet: you want the size of your real US audienceSearch Console for search demand, GA4 for visits, order data for customersThree different thingsThree numbers, each with its own job

Two cautions go with every row. A bigger US row isn't a ranking you can buy: what a search engine does with any visit or click is its own decision, and nobody, us included, can honestly promise a position in US results. And if your pages carry ads, automated visits counted as ad impressions are invalid traffic under ad network rules from any country, so test on pages without ads.

What no report can tell you about US visitors

Whether a visitor is American. Every report here answers where a connection or a search appeared to be. None of them knows nationality or where someone lives. For customers, the only country you can trust is the one in your order data, typed in as a billing or shipping address.

Whether a US visit was a person. GA4's United States row includes any automated visit from a US address that runs your tag. Ours are among them when you target the United States: Website Traffic and Realistic Traffic visits come from US data center addresses and are meant to register in that row. A US row proves an address, not a human.

Where in the US. State and city are coarser than tidy tables suggest. MaxMind's own documentation says its coordinates "are not precise and should not be used to identify a particular street address." Treat a city report as a rough map, not an address book.

The practical rule is short. Before anyone quotes a US number, say which report it came from and what that report counts as US. That one sentence settles most arguments about US traffic before they start.

Frequently asked questions

FAQ

What counts as USA web traffic in Google Analytics 4?

A visit whose IP address GA4's lookup placed in the United States when the data was collected. GA4 reports the country as an ISO 3166-1 alpha-2 code and doesn't keep the address, so Puerto Rico and the other territories appear as their own countries, and a US visitor abroad counts wherever their connection was.

Why don't Search Console and GA4 agree on my US traffic?

They count different things with different evidence. Search Console counts Google searches by the country where the search originated, while GA4 counts visits from every channel by IP address, and only when your tag runs. Compare the US share of GA4's google / organic sessions with the US share of Search Console clicks, not the raw counts.

Does traffic from Puerto Rico count as US web traffic?

Not in GA4 or Search Console. Both report countries by ISO code, and Puerto Rico has its own (PR, or PRI in the Search Console API), so it sits in a separate row. Whether it belongs in your own US figure is a business decision: add it if you serve it like the mainland.

Can a visitor outside the United States show up as US traffic?

Yes. GA4 records where the IP address geolocates, not where the person is, so someone abroad whose network connects through the US counts as American, and so do automated visits from US data centers. Search Console can differ, because Google estimates a searcher's location from more than the IP address.

Why do my GA4 country rows add up to more than my total users?

Because the total counts each person once, while someone seen from two countries can appear in both rows. The difference between the sum of the rows and the total is a rough count of users placed in more than one country, so quote the total, not a sum.

Which report should I use to check bought US traffic?

The one that measures the kind of visit you bought. Human search clicks show in Search Console's Countries tab under United States. Automated visits never appear there, so judge them by GA4's United States row and a sample of addresses from your server log, and expect a small share to land in other countries.

About the Author

The SparkCliks Team runs SERP Clicks, the Sparky Traffic Bot, Website Traffic and Realistic Traffic, and writes about what those services can be verified to do, including where the honest answer is that a US row proves less than it seems. Product facts here come from SparkCliks' own product data, country list and published delivery policy. Location facts come from Google's Search Console, Analytics, Search and Ads documentation, the UN's country code list, Cloudflare and MaxMind, all checked on September 11, 2026. Learn more at sparkcliks.com.

Keep reading

Related articles