How to Exclude Your Own Visits from Website Analytics — When “International Traffic Is Growing!” and Your Browser Is Secretly Carrying the Home Market

How reading tools work

Listen reads the article aloud. Speed read shows phrases in sequence at your chosen pace. Language practice compares available translations. Save keeps a bookmark in this browser; find it in the player’s bookmarks.

Share this article
Advertisement
Advertisement

A multilingual site can produce a strange pattern.

“Is traffic in the main language going down?” “Why are English, Chinese, and other language versions going up?” “Wait… am I counted in the main-language traffic?”

All three can be true at once.

Foreign-language discovery may genuinely be growing. External traffic in the main language may be softening. At the same time, the site owner keeps opening new posts, checking links, returning to the home page, refreshing after fixes, and creating a surprisingly loyal “reader” in the default language.

That reader is often the operator.

This article explains how to exclude your own browser from analytics, when to use localStorage or cookies, why simply opening the site does not register you as an owner, what happens to historical data, and how to read multilingual traffic without letting QA activity distort the picture.

1. Separate external landings from internal navigation before judging traffic

Total page views are easy to misread on a site that the owner checks frequently.

Typical owner activity includes:

  • opening a newly published article directly
  • moving from the home page to the article
  • clicking related links
  • checking on both desktop and mobile
  • refreshing repeatedly after a deployment
  • coming back later to verify production again

A normal visitor may read one page and leave. The operator acts as editor, QA engineer, reader, and monitoring system at the same time.

For multilingual sites, it is therefore useful to separate at least two categories:

  • external landing views
  • internally referred views

If foreign-language pages are gaining external landings while the main language has a large share of internal navigation, “the main language is dominant” may partly mean “the operator browses the main-language interface a lot.”

2. “I opened it. Am I registered now?” — not unless code actually wrote a marker

Suppose you decide to mark your browser as the owner and then open the website once.

Does that automatically register the browser?

No.

Browsers do not infer intent and decide:

“This person looks like the owner. I will stop counting them.”

Something has to write a real marker, such as:

  • a value in localStorage
  • a cookie
  • an authenticated admin preference
  • a server-side internal-traffic label

Opening a page is a visit. Registering an owner browser is a state change.

If no code performed that state change, nothing was registered.

3. localStorage vs cookies: which one should you use?

Two common browser-level options are localStorage and cookies.

localStorage

localStorage stores values for a web origin and persists across ordinary browser sessions.

For example:

localStorage.setItem("analytics_owner", "1");

A client-side analytics script can check it before sending events:

if (localStorage.getItem("analytics_owner") === "1") {
  return;
}

This is simple and works well when analytics events are created in the browser.

The limitation is that a server or edge worker cannot see localStorage when the initial HTTP request arrives.

Cookies

Cookies can be attached to matching HTTP requests and are therefore visible to the server or edge layer.

A browser-set example looks like this:

document.cookie =
  "analytics_owner=1; Path=/; Max-Age=31536000; SameSite=Lax; Secure";

The server or edge worker can inspect the cookie and skip the analytics counter.

A cleaner implementation can set the cookie from an authenticated admin page or a private setup endpoint. If JavaScript does not need to read the cookie, HttpOnly may also be appropriate.

But remember: this marker is only for analytics exclusion.

Do not use a user-writable cookie or localStorage flag as authentication or authorization. That would be like letting anyone become the CEO by changing their desk nameplate.

4. Use cookies for server/edge counting; localStorage is fine for browser-only events

The choice is mostly about where counting happens.

Client-side event tracking

localStorage is often enough.

If JavaScript sends the analytics event after the page loads, it can check the owner flag first and send nothing.

CDN, edge worker, server, or access-log counting

Cookies are usually a better fit.

The server counts the request before browser JavaScript runs.

localStorage exists only inside the browser and is not automatically sent with the HTTP request.

A cookie is.

Same goal, different measurement point, different tool.

5. For a small solo site, a one-time owner setup is usually enough

Large companies may define internal traffic by office networks, accounts, or device management.

A one-person site can be much simpler.

A practical flow is:

  1. open a private owner-setup page
  2. set an owner cookie for a long but finite period
  3. ignore analytics for requests carrying that cookie
  4. provide a way to clear the marker

Remember that the marker is browser-specific.

Your desktop browser, phone browser, alternate browser, separate profile, and private-browsing session are different environments.

Setting it once does not erase every version of you across the universe.

6. Historical counts do not automatically shrink

If you add owner exclusion today, yesterday’s page views do not disappear.

The usual effect is:

“Do not mix my visits in from this point forward.”

Retroactive correction would require separate work, such as reprocessing raw logs or rebuilding aggregates.

For a young site with small numbers, spending hours reconstructing a few dozen historical owner views may not be worth it.

A simple note is often enough:

“Earlier data may contain operator activity; data after this date excludes the owner browser.”

Analytics is not a time-travel competition.

7. GA4 internal traffic filters and custom browser markers are different mechanisms

Google Analytics 4 provides an official method for defining internal traffic using IP addresses and then excluding it with data filters.

That can work well for stable office networks.

A solo operator may move between home Wi-Fi, mobile data, travel networks, tethering, or VPNs. In that situation, IP-only identification can become inconvenient.

For custom first-party analytics, a browser cookie or authenticated state can therefore be easier.

But these are not the same feature.

If you use GA4, follow GA4’s internal-traffic workflow and test filters before activating permanent exclusion. If you use custom analytics, exclude the owner at the point where your own system collects events.

8. Measure multilingual growth with owner-excluded external landings

Self-traffic can distort multilingual comparisons.

Imagine total traffic looks like:

main language: 70
foreign languages: 30

But the main-language 70 contains:

  • 20 owner checks
  • 20 internal navigation views
  • 30 external landings

while almost all 30 foreign-language views are external landings.

Then the growth story is very different.

For discovery and demand, compare:

main-language external landings
vs.
foreign-language external landings

Also distinguish daily data from rolling windows.

A rolling seven-day total can fall simply because an older high-traffic day leaves the window. That does not automatically mean traffic collapsed today.

9. Minimum test procedure

Do not stop at “I think the owner filter works.”

Test it.

  1. confirm the owner marker exists in the browser
  2. open a normal page once
  3. verify that no analytics event is recorded, or that it is discarded as owner traffic
  4. confirm that another browser is still counted normally
  5. remove the marker and verify that counting resumes

Browser developer tools can show both localStorage and cookies.

Opening the setup page is not proof.

Computers are excellent at following instructions and terrible at reading your mind.

10. Conclusion: remove yourself from the sample before celebrating global growth

Seeing foreign-language traffic appear is exciting.

But the default-language side often has one extremely loyal visitor: the operator.

The clean approach is:

  • separate external landings from internal navigation
  • explicitly mark the owner browser
  • use localStorage for browser-only event collection
  • use cookies for server or edge counting
  • remember that opening the site alone does not register anything
  • leave historical data alone unless reprocessing is genuinely worth it
  • evaluate multilingual demand with owner-excluded external landings

If international readers are finally arriving, great.

Just make sure you are not personally inflating the home team while measuring the match.

References (3)


Read this today

Each one answers a question readers of this article tend to ask next.

Browse all articlesMore on Technology

If this article helped you, you can support the site. Support

Advertisement

One more? Anything fun?

Since you're done reading: a couple of nearby stories and some totally different, fun ones.

  1. Nearby40 Human Pageviews a Month, 281,000 Machine RequestsThe Reality of Posts, Traffic, and Revenue While Waiting for Ad Approval
  2. Minecraft RunCreeper Blast, Total Loss, and Endless Potato Farming
  3. Totally different, but funWhy Akita's Forest Doesn't Look Like JapanPostwar Cedar Plantations
  4. Is a 9% 500 mL can really one drink?It's about 2.6 beers
  5. Why Is Genji in "Harem King's Isekai Press Tour" So Overpowered?
  6. Why "Husband Should," "Boyfriend Should," and "Family Should" Start Fights

Find other articles

All articles

Mendoi-chan

Who runs this site

Mendoi-chan

She turns friction at work and in everyday life into clear structure and practical next steps.