Scalekit traffic · 29 Jun 2026 to 5 Sep 2026

Did we lose real people?

PostHog says traffic dropped. I am checking if that is real demand, or bots and measurement.

  1. Do PostHog and Google Analytics agree?
  2. Did fewer people stay longer, or did both users and sessions fall?
  3. If docs fell, which pages?
  4. Did Google search demand fall?
  5. Is this one drop, or many drops stacked?
  6. Which of these did we cause?

No. We did not lose real people.

Real users held or grew the whole time. What left was automated traffic from Singapore, China and Hong Kong. Search clicks barely moved. Three numbers carry the answer, all measured per day so the short 6-day window compares fairly.

Real users / day · scalekit.com208.6 → 270.2  +30%
Google clicks / day225.1 → 219.3  −3%
Bot users / day · docs234.1 → 38.8  −83%

It was not one drop. It was 6 separate events stacked. Five are anomalies I ignore for demand. One is a possible trend worth watching, and it is small. Two still need a "did we cause this?" check. The action list sits at the bottom of this page.

scalekit.com is the marketing site. I used to write www. That meant the same host.

docs.scalekit.com is the docs site.

SG is Singapore. CN is China. HK is Hong Kong. LLM agent bots hit us from those countries through proxies.

Words I use on this page
PostHog and Google Analytics (GA)
Two tools that both count visitors on our sites. They count differently. PostHog filters some bots. GA does not. When they disagree, the gap is usually not a person.
Google Search Console (GSC)
Google's own report of how we do in search. It is the only source that shows what Google actually served.
Impressions and clicks
An impression means Google showed our link. A click means somebody pressed it. Impressions can move a lot without changing clicks.
Position
Where our link sat in the results. Position 1 is the top. Lower numbers are better.
The minus-2 cut
Google fills in GA and Search Console about 2 days late. So I stop every window 2 days before today. Today is 7 Sep, so I stop at 5 Sep.
The long tail, and anonymous queries
Most searches that reach us are rare one-off phrases. Google hides the rarest ones in its query report to protect privacy. It still counts them in the site total. So the total can fall while every query Google will name goes up.
uniqExact and session_start
The exact way I counted. uniqExact counts each person once, with no estimating. session_start is GA's real session count. I avoided the per-page session column because it counts one visit once per page.
Primary observation

The totals fell. The real audience did not.

Users per day, so the 6-day window compares fairly. Bots is Singapore + China + Hong Kong. Real is United States + India. PostHog uniqExact, counted as a union, not a sum of columns.

Slice 29 Jun–5 Jul 6–12 Jul 24–30 Aug 31 Aug–5 Sep Change
scalekit.com · real 208.6229.6235.4270.2 +30%
scalekit.com · bots 78.914.913.114.8 −81%
docs.scalekit.com · real 58.944.753.753.7 −9%
docs.scalekit.com · bots 234.1174.025.138.8 −83%

Bots fell 81% on scalekit.com and 83% on docs. Real users per day on scalekit.com went up 30% over the same 10 weeks. Docs real users dipped in the 6 Jul week, then came back. Search clicks per day fell 3%. That is the whole story in one table.

Question 1 · do the tools agree?

6 Jul: PostHog and GA do not agree on docs

Week pair: 29 Jun 2026 to 5 Jul 2026 vs 6 Jul 2026 to 12 Jul 2026. If real demand died, both tools would fall.

Host PH users PH sessions GA sessions Same direction?
scalekit.com 3,097 → 2,744 (−11%) 3,454 → 3,165 (−8%) 3,697 → 3,379 (−9%) Yes, but see mix below
docs.scalekit.com 2,264 → 1,700 (−25%) 2,421 → 1,848 (−24%) 1,059 → 1,124 (+6%) No

docs.scalekit.com: PostHog users −25%. GA sessions +6%. That is not real demand dying. I think this is bots in PostHog, or mix.

Question 2 · users or sessions?

Users and sessions fell together. Nobody was just staying longer.

A common explanation for a user drop is that fewer people visited but each stayed longer. That would show as users down and sessions flat or up. That is not this data.

docs.scalekit.com29 Jun–5 Jul6–12 JulChange
PostHog users2,2641,700−25%
PostHog sessions2,4211,848−24%
Sessions per user1.071.09flat

Both fell by the same amount, so sessions per user did not change. Whatever left was visiting once and leaving, at the same rate before and after. That is the shape of a bot, not of a reader who lingers.

Bots · ignore for demand

scalekit.com: one Singapore day, then gone

29 Jun week vs 6 Jul week. Almost all of scalekit.com's −11% is Singapore leaving. US and India went up.

Slice 29 Jun–5 Jul 6–12 Jul Change
Singapore 531 84 −447
United States 1,026 1,101 +75
India 435 507 +72
29 Jun
30 Jun
1 Jul
2 Jul
3 Jul
4 Jul
5 Jul
6 Jul
7 Jul
8 Jul
9 Jul

Singapore / China / Hong Kong · 505 users on 29 Jun, then ~5–30/dayUS + India held

Daily cut agrees. 505 of those users sit on 29 Jun. Singapore / China / Hong Kong is where LLM agent bots run (proxies). I ignore this for demand.

Bots · ignore for demand

docs.scalekit.com: China / Hong Kong fell 8–9 Jul. US + India did not.

Orange is Singapore / China / Hong Kong. Blue is US + India. Step is 8 Jul to 9 Jul.

Slice 29 Jun week 6 Jul week
Hong Kong836516
China641452
Singapore162250
United States260186
India154128
GA sessions1,0591,124
5 Jul
6 Jul
7 Jul
8 Jul
9 Jul
10 Jul
11 Jul
12 Jul

Singapore / China / Hong Kong · 404 → 72 on 8–9 JulUS + India · 69 → 79 that same day

One segment fell (404 to 72). US + India that day went 69 to 79. GA sessions went up that week. Singapore / China / Hong Kong is LLM agent bots on proxies. I ignore this for demand.

Question 3 · which docs pages?

docs.scalekit.com: GA sessions held. One page took the hit.

GA session_start, 29 Jun 2026 to 5 Jul 2026 vs 6 Jul 2026 to 12 Jul 2026. Site total 1,059 → 1,124 (+6%). This is real sessions, not PostHog bots. Top pages by week-1 share.

Page 29 Jun–5 Jul 6–12 Jul Change Share of week 1
/agentkit/quickstart/ 158 77 −81 15%
/ (home) 118 112 −6 11%
/authenticate/fsa/quickstart/ 62 51 −11 6%
/authenticate/mcp/intro-to-mcp-auth/ 25 13 −12 2%
/cookbooks/java-spring-boot-jwt-timeout/ 21 33 +12 2%
/authenticate/mcp/quickstart/ 17 26 +9 2%

322 docs pages had a session that first week. The top 10% is 32 pages. /agentkit/quickstart/ is the one that dropped. Home held. Site total still went up.

Question 4 · did Google demand fall?

scalekit.com Search Console impressions went 602k to 390k, Jun to Aug

Clicks held in July. Impressions did not. Ahrefs keyword count held. Positions 1-3 slipped. This is still the one that looks like a trend.

Week scalekit.com clicks scalekit.com impressions docs clicks docs impressions
29 Jun–5 Jul 1,576 601,664 75 18,655
6–12 Jul 1,585 580,760 69 15,947
24–30 Aug 1,535 431,772 62 12,723
31 Aug–5 Sep 1,272 390,019 62 17,074
Ahrefs day Keywords 1–3 Top 10 All keywords
5 Jul 2026 214 423 466
30 Aug 2026 181 411 448

I already have the GSC queries file. It ends 5 Sep. That is the minus-2 cut. Ahrefs is not a mass deindex. Keywords in 1-3 went 214 to 181. Top 10 only went 423 to 411. I still will not name a reverse.

Question 5 · where did the impressions go?

Google names more of my queries, not fewer. The lost impressions are the ones it will not name.

Query-level cut from gsc_site_queries.csv, 29 Jun–5 Jul vs 24–30 Aug. Both windows are 7 days. The query file is a subset of the property total, so I read its direction, not its size.

Measure29 Jun–5 Jul24–30 AugChange
Impressions on named queries192,619227,835+18%
Distinct named queries12,56113,815+10%
Total property impressions601,664431,772−28%
Clicks per day225.1219.3−3%

Read those four rows together. Named queries grew and carried more impressions. The property total still fell. So the loss sits in queries Google will not name, which is the anonymous long tail. I did not lose ranked search demand.

Why losing those impressions cost nothing

Two queries carried 61,310 impressions in the 29 Jun week at position 2.5 and 2.9. Between them they produced 1 click. At that position a real audience gives 10% or more.

QueryImpr 29 JunImpr 24 AugPositionClicks
sso idp32,27024,5952.5 → 4.91 → 0
sso idp vs sp29,04025,1922.9 → 2.80 → 0

Of the top 200 losing queries, 121 vanished to zero, 50 kept a worse position, and 29 lost impressions without losing rank. Mostly long-tail churn.

The one real signal: brand search fell

The query scalekit went 265 clicks to 186, down 30%, while my position improved from 3.5 to 1.9. Better rank, fewer clicks. That is not SEO. Fewer people search my name. Different problem, different owner.

The 31 Aug window rose per day, it did not fall

That window has 6 days, not 7. Per day it goes the other way. This supports not calling it a trend.

Per day24–30 Aug31 Aug–5 SepChange
scalekit.com impressions61,68265,003+5%
scalekit.com clicks219.3212.0−3%
docs impressions1,8182,846+57%

Still worth doing: positions 1-3 went 214 to 181 while 4-10 went 209 to 230. About 33 keywords slipped one tier. Total keywords held, 466 to 448, so nothing was deindexed. That is reversible with normal content and link work. It cost almost no clicks, so it is not urgent. I still will not name AI Overviews as the cause. Search Console gives web, image and news only. There is no generative column.

Aug · ignore for demand

docs GA sessions fell 52% in the 10 Aug week. No page did it.

GA session_start, Monday weeks. This dip is the mirror of 6 Jul: the tool that missed the July cliff is the one that sees this. PostHog barely moved that week.

GA docs weekSessionsChange
27 Jul1,478
3 Aug1,760+19%
10 Aug841−52%
17 Aug947+13%
24 Aug862−9%

I checked whether one endpoint caused it. It did not.

Test, 3 Aug → 10 AugResult
Pages that dropped546 of 699
Median drop per page−1 session
Pages losing 20 or more2
Top 10 pages, share of the drop11.3%
Top 50 pages, share of the drop28.6%
Biggest single loss/authenticate/mcp/quickstart/ −24

A bad deploy or a lost ranking concentrates in a few URLs. This is 78% of all pages each losing 1 or 2 sessions. That shape is a crawler leaving, not readers leaving. Compare 6 Jul, where /agentkit/quickstart/ alone was 15% of the week and took the whole hit. These two dips have opposite shapes.

Not decided

31 Aug week stops at 5 Sep. I am not calling it a trend.

Google lags about 2 days in GA and GSC. We pull until today minus 2. Today is 7 Sep, so 5 Sep is the right edge. Do not wait for 6 Sep. That day will look thin. I am not calling this a 7-day trend. The 6-day numbers are still below.

Host PH users PH sessions GA sessions
scalekit.com 2,783 → 2,566 (−8%) 3,129 → 2,919 (−7%) 3,810 → 3,589 (−6%)
docs.scalekit.com 706 → 678 (−4%) 812 → 759 (−7%) 862 → 704 (−18%)
robots.txt

When did ai-train=no appear?

docs.scalekit.com has it. scalekit.com does not.

Host Today When added
scalekit.com No Content-Signal. Only Disallow /authors/. Not present.
docs.scalekit.com Content-Signal: search=yes, ai-train=no, ai-input=yes 20 Apr 2026. developer-docs #576. Bundled in an AgentKit docs PR.

What it means: ask crawlers not to use docs to train models. Search indexing is still yes. Feeding docs into an answer at request time is still yes.

Should it be there? Common on docs sites. It is a preference, not a block. It does not stop Google Search. It was already there in April, so it did not cause the July drop.

Last 3 weeks · new models

New models shipped. I cannot tie them to this drop.

I said before that we had no LLM referral data. That was wrong. GA has an AI Assistant channel, and ga_site_referrals.csv names each assistant. Search Console still has no generative column, so this covers click-throughs from assistants, not AI answers that never got clicked.

Date What shipped
13 Aug 2026Gemini 3.7 Flash
19–28 Aug 2026Google AI Overviews: generative UI, then longer auto-expand
1 Sep 2026Claude Fable 5.1
2 Sep 2026Gemini 3.8 Flash
3 Sep 2026OpenAI GPT-6 Astra

scalekit.com sessions from LLM assistants, per week. Sources are chatgpt.com, gemini.google.com, claude.ai, perplexity.ai and copilot.com.

WeekSessionsWeekSessions
15 Jun3527 Jul41
22 Jun413 Aug39
29 Jun4110 Aug38
6 Jul4517 Aug41
13 Jul2224 Aug35
20 Jul2831 Aug46

Flat at 22 to 46 all period. The highest week is 31 Aug, after every launch on this list. Ahrefs Web Analytics agrees on its own llm channel: 180 visitors in July, 192 in August.

Five tests would show it if new models took our readers. None do.

TestIf models caused itActual
LLM referralsRiseFlat. Best week is 31 Aug.
Organic search sessionsFallFlat. 322 to 318 per day.
Named-query impressionsFallUp 18%.
Google clicks per dayFall−3%.
Timing of the 8–9 Jul cliffOn or after 13 Aug5 weeks earlier.

The broad version of this angle is dead. New models did not take our readers. Five independent tests say so, and the July cliff predates every launch by 5 weeks.

A narrow version survives. The traffic that left executed JavaScript, because GA counted it, and it arrived as Direct from proxy countries. That is agent browsing, not Googlebot, because Googlebot does not create GA sessions. New models do change which agents run. I cannot tie that to any single launch date, so I am not calling it.

The input that would close this

CDN or server logs. Netlify and Cloudflare logs carry the user agent string. GA and Search Console do not. Those logs would name agent traffic directly, and would settle this angle and the 8–9 Jul question in one pass. This is a better next input than anything else on my list.

Checked

I re-ran every number in the report against the raw sources

106 of 109 figures match exactly. PostHog on inclusive calendar dates, GA on session_start, Search Console on the page files, Ahrefs on the keyword history CSV.

ItemWasShould be
docs 24–30 Aug PostHog users707706
docs Google referrer, first week8789
app.eu week of 26 Jul607 → 8607 → 169 → 10

The 706 matters only for method. uniqExact gives 706. count(DISTINCT) gives 707 because HogQL maps it to the approximate uniq(). The percentage does not change. The app.eu number was a 3-week slide, not one drop. Nothing here changes a single call on this board.

What I do next

Four things to do. Three answer an open question. One is just watching.

Everything above is diagnosis. This is the whole action list that comes out of it.

Do thisWhyOwner
1. Get Netlify or Cloudflare logs for 8 Jul to 16 Aug These logs carry the user agent string. GA and Search Console do not. They would name the agent traffic directly, and they settle two open questions in one pass: what left on 8–9 Jul, and whether agent browsing changed in August. This is the highest-leverage input I have left. Infra
2. Pull the change log for 8–9 Jul Bot traffic vanished overnight. If we shipped a WAF rule, a bot-fight setting, a geo block, or a PostHog snippet change that day, then we caused it and it is explained. If we shipped nothing, I close it as outside noise. Infra
3. Check index status on 3 blog URLs zoominfo-mcp-vs-api, clickup-mcp-vs-api and asana-mcp-vs-api lost nearly all impressions in July. They return 200 today, so this is not an unpublish. I need Search Console index coverage to tell me if Google dropped them. Marketing
4. Watch the rank tier for 2 more full weeks Keywords in positions 1-3 went 214 to 181 while 4-10 went 209 to 230. About 33 keywords slipped one tier. It cost almost no clicks, so it is not urgent. Normal content and link work reverses it. Marketing

Not on this list: brand search. The query scalekit lost 30% of its clicks while my ranking improved. That is a demand and awareness question, not a traffic bug. It needs a different owner and a different conversation.

Closed

Nothing more from this side.

Google lags about 2 days. Files already stop at 5 Sep 2026. That is the minus-2 cut.

1. GA through 6 Sep

Closed. Do not pull 6 Sep. That day will look thin. I already have GA through 5 Sep 2026.

2. Google Search Console queries

Closed. I already have gsc_site_queries.csv. It ends 5 Sep 2026. I used it for phrase moves. Page-level totals stay the impression number (602k to 390k).

3. Ahrefs

Closed. Used scalekit.com-organic-keywords-history-subdoma_2026-09-07_17-53-10.csv. Keywords 1-3 went 214 to 181 (5 Jul to 30 Aug). Top 10 held 423 to 411. Not a mass deindex.

4. Singapore / China / Hong Kong

Closed. Those are the top locations where LLM agent bots run, on proxies. That locks ignore for demand.

5. Docs repo

Closed. I have the merges from scalekit-inc/developer-docs. I do not need anything else from that repo. I am not calling those merges the cliff.