Weekly Traction Report — November 2–8 work in progress
The full funnel, from the first visit to a new customer: first all channels combined, then channel by channel, with the KPI for each step against its target. The metric that matters most is new customers: first charge in Stripe, across the whole business, not just from paid ads.
Rocket Closet · Week of November 2–8, 2026 · Mountain Time · Prepared by Yonatan
Dates covered
This weekMon, Nov 2 – Sun, Nov 8
Prior weekMon, Oct 26 – Sun, Nov 1
Last 4 weeksMon, Oct 12 – Sun, Nov 8
Days are on Mountain Time, the time zone Google Ads and Meta report in. Site visits exclude bots, tests, the team's internal traffic, and other domains that load the Rocket Closet tag. Leads exclude tests and messages that aren't service inquiries. All amounts are in US dollars. When a number isn't recorded, the report says “not recorded,” never zero.
Where the funnel leaks this week
0 new customers this week and 3 in the last 4 weeks.
1 real lead this week and 5 in the last 4 weeks.
4 of the 9 submissions in the last 4 weeks weren't service inquiries.
2 of 3 new customers (4 wk) are unattributed: no form, or a different email.
Prior-week numbers that changed since that Monday's report: real visits 120 → 121. They change when the test and internal-traffic filters are refined, or when the platform finishes processing its data; today's numbers are the current ones.
① Overall funnel — all channels combined
Step
Total
Step conversion
By source
ImpressionsGoogle Ads, Facebook & Instagram ads, and Google organic search (Search Console) · Google organic is incomplete this week (Nov 8 preliminary); Google publishes with a 2–3 day delay, so these numbers will go up
ClicksGoogle Ads clicks, Meta link clicks, and Google organic clicks · Google organic is incomplete this week (Nov 8 preliminary); Google publishes with a 2–3 day delay, so these numbers will go up
646
prior 831 · 4 wk 1,803
CTR 2.06% of impressions get a clickprior 2.15% · 4 wk 1.85%
Arrivedreal visits to rocketcloset.com from every source: engaged sessions, out of 678 clean sessions
111
prior 121 · 4 wk 397
9% of clicks become real visits57 visits from these channels ÷ 646 clicks · prior 9% · 4 wk 11% · direct and referral visits don't come from a measured click; organic visits also include Bing and Yahoo, so that channel can go over 100% · Google organic clicks are incomplete this week
Submitted a formnew inbound HubSpot contacts (form, chat, or sign-up), excluding tests · GA4 recorded 1 submission
2
prior 1 · 4 wk 9
1.8% of visits submit a formprior 0.8% · 4 wk 2.3%
Direct 1 (50%)Google Ads · brand 1 (50%)
Real leadsexcluding tests and non-service messages
1
prior 1 · 4 wk 5
50% of submissions are real leads−1 message that wasn't a service inquiry · prior 100% · 4 wk 56%
Google Ads · brand 1 (100%)
New customersthe metric that matters most · Stripe
0
prior 1 · 4 wk 3
0% of leads payprior 0% · 4 wk 20%
—0 unattributed new customers this week (4 wk: 1 attributed · 2 unattributed)
Total ad spend $166.03 (prior $145.78 · 4 wk $455.10)Cost per new customer from paid ads no customers from paid ads · target $160–200
Impressions and clicks: Google Ads covers the whole account and Meta counts link clicks, both on Mountain Time; Google organic comes from Search Console, on Pacific Time (one hour apart). “Real visits” by channel follow this week's list of active campaigns for every period, so visits from a campaign that ran earlier and stopped show up under “Links from paused ads,” which can make “prior” and “4 wk” look lower.
② Funnel by channel
Google Ads · brand · $81.91 active
People searching “rocket closet”
Impressions19,283prior 26,003 · 4 wk 53,547
CTR 2.1%prior 2.2% · 4 wk 2.1%
Clicks400prior 578 · 4 wk 1,098
7% of clicks land and stayprior 9% · 4 wk 9%
Real visitsengaged, out of 331 sessions29prior 53 · 4 wk 100
3.4% of visits submit a formprior 0.0% · 4 wk 1.0%
100% of submissions are real leadsprior — · 4 wk 100%
Real leads1prior 0 · 4 wk 1
0% of leads payprior — · 4 wk 0%
New customersfirst Stripe charge · matched by email0prior 0 · 4 wk 0
Supporting data, not a funnel step · viewed pricing: 1 (3% of visits; prior 2 · 4 wk 7). Google Ads also reports 1 conversion (prior 0 · 4 wk 2); the funnel uses HubSpot, like the overall funnel, so every channel is counted the same way. Google Ads credits a submission to its ad if there was an earlier click, even when the visit that sent the form came in another way (for example, “Direct”). Impressions and clicks: whole account, same as the overall funnel. Real visits: engaged GA4 sessions (more than 10 seconds, 2 or more pages, or a conversion), with the same cleanup filter.
Meta · $84.12 active
Meta campaigns
Impressions6,464prior 8,020 · 4 wk 23,067
CTR 3.3%prior 2.8% · 4 wk 2.6%
Clickslink clicks212prior 226 · 4 wk 595
0% of clicks land and stayprior 0% · 4 wk 0%
Real visitsengaged, out of 0 sessions0prior 0 · 4 wk 0
New customersfirst Stripe charge · matched by email0prior 0 · 4 wk 0
Supporting data, not funnel steps · reach: 4,760 people (prior 5,847 · 4 wk 14,666) · frequency 1.4 impressions per person · viewed pricing: 0 (— of visits; prior 0 · 4 wk 0). Meta lead form leads (they don't go through the site, so they're not in this funnel): 0 (prior 0 · 4 wk 0). Real visits: engaged GA4 sessions (more than 10 seconds, 2 or more pages, or a conversion), with the same cleanup filter as the overall funnel.
Organic search
People who found the site on Google, Bing, or Yahoo without an ad
ImpressionsGoogle only, no ads · Nov 8 preliminary5,555prior 4,685 · 4 wk 20,879
CTR 0.6%prior 0.6% · 4 wk 0.5%
Clicksaverage position 8.9 (prior 9.4)34prior 27 · 4 wk 110
82% of clicks land and stayprior 85% · 4 wk 95%
Real visitsengaged, out of 47 sessions28prior 23 · 4 wk 104
0.0% of visits submit a formprior 0.0% · 4 wk 1.0%
— of submissions are real leadsprior — · 4 wk 100%
Real leads0prior 0 · 4 wk 1
— of leads payprior — · 4 wk 100%
New customersfirst Stripe charge · matched by email0prior 0 · 4 wk 1
Supporting data, not a funnel step · viewed pricing: 2 (7% of visits; prior 2 · 4 wk 12). Branded (“rocket closet” and variations): 4 clicks from 29 impressions (prior 3 from 8) · non-branded: 30 clicks from 5,526 impressions (prior 24 from 4,677). Impressions and clicks: Search Console, days in Pacific Time; incomplete week (Nov 8 preliminary), Google publishes with a 2–3 day delay; real visits also include Bing and Yahoo. Details in ③.
Direct
Came in with no known source: typed address, bookmarks, apps, or emails
Impressionsno impressions or clicks: these visits don't come from an ad or a search—
Clicksno impressions or clicks: these visits don't come from an ad or a search—
Real visitsengaged, out of 47 sessions10prior 8 · 4 wk 57
10.0% of visits submit a formprior 0.0% · 4 wk 10.5%
— of submissions are real leadsprior 100% · 4 wk 100%
Real leads0prior 1 · 4 wk 1
— of leads payprior 0% · 4 wk 0%
New customersfirst Stripe charge · matched by email0prior 0 · 4 wk 0
Supporting data, not a funnel step · viewed pricing: 4 (33% of visits; prior 7 · 4 wk 19).
“New customer” by channel: the email on the first Stripe charge is matched with the email on the HubSpot leads; the channel of the most recent lead before the payment is the one that counts. 0 unattributed new customers this week (2 over 4 weeks): they paid without a form or with a different email.
New customers by channel — where each one came from
This week's new customers
No new customers this week.
Total by channel
Channel
This week
4 weeks
Google paid
0
0
Meta paid
0
0
Organic
0
1
ChatGPT
0
0
Direct
0
0
App
0
1
No channel: review
0
1
Total= new customers in Stripe (0 · 4 wk 3)
0
3
How each customer was matched (this week · 4 wk): matched by email 0 · 2 · no match 0 · 1. 1 with no channel go to Sofi's sheet to complete (the list with names is not published).
Each new Stripe customer (first charge of their first subscription) is matched to HubSpot in this order, and stops at the first hit: 1 · email (every email Stripe has, against HubSpot's primary and additional emails); 2 · phone (last 10 digits); 3 · full name (no accents, any case) of a contact created in the 7 days before the payment or sharing the email domain, only if every match points to the same channel — marked low certainty; 4 · payment metadata (UTM, hubspotutk or client reference in Stripe). In 1–2 the contact created last, up to 1 hour after the payment, counts. The channel comes from that contact's source: App if the app created it (Mobile-App integration; GA4 doesn't measure the app). The app doesn't keep the source: if steps 2–4 find no earlier contact from the site, someone who saw an ad but signed up and paid only in the app shows as “App.” A contact created by another integration (e.g. from Stripe) shows as “Other.” Otherwise, it's the contact's original source in HubSpot (their first recorded visit: Google paid, Meta paid, organic, ChatGPT, direct) and, for “other campaigns,” its UTM. No channel: review: none of the four matched, or the contact has no source — the channel is never guessed. That's why it can differ from new customers by channel in ②, which only count leads who filled out the form before paying and use the source of the visit when they filled it out.
③ Google Search (no ads)
This week
Prior
4 wk
Impressions
5,555
4,685
20,879
Clicks
34
27
110
CTRclicks ÷ impressions
0.6%
0.6%
0.5%
Average position1 = first result
8.9
9.4
9.9
Branded: 29 impressions and 4 clicks · non-branded: 5,526 impressions and 30 clicks. The site showed up in 282 different searches. Incomplete week in Search Console: Nov 8 preliminary (Google publishes with a 2–3 day delay; the numbers will go up).
Top 10 searches by clicks
Search
Impr.
Clicks
CTR
Position
rocket closet brand
29
4
13.8%
1.4
ski season in colorado
40
1
2.5%
9.8
can you ski in colorado in october
6
1
16.7%
5.0
skiing in colorado in january
4
1
25.0%
5.5
colorado skiing december
3
1
33.3%
10.3
how to transport ski equipment
654
0
0.0%
9.7
how to pack skis and bikes for moving
177
0
0.0%
16.1
best time to ski in colorado
105
0
0.0%
5.5
rocket tutorial for travelers
82
0
0.0%
3.7
shipping vs renting skis at the resort
71
0
0.0%
2.1
Top 5 pages by clicks
Page
Impr.
Clicks
CTR
Position
Blog: “Best time to ski in Colorado month by month…”
3,339
15
0.4%
6.6
Home
335
13
3.9%
15.1
Blog: “Fly ship rent or store ski gear at the…”
234
2
0.9%
5.4
Destination: Copper Mountain
42
2
4.8%
15.3
Destination: Vail
24
1
4.2%
20.5
By country
Country
Impr.
Clicks
CTR
Position
United States
4,901
30
0.6%
8.8
Mexico
30
1
3.3%
4.1
Other (77 countries)
624
3
0.5%
9.7
Google only, and only results without ads (Search Console; days in Pacific Time). Position: the site's average rank, 1 = the first result. “Branded”: searches that include “rocket closet” or a variation. Google hides searches made by very few people: 26 clicks this week come from them; they count in the total and in “non-branded.” Check: the daily clicks add up to the API total (34 = 34).
④ KPI scorecard — each step against its target
KPIwhat it measures
Channel
Nov 2–8
Oct 26 – Nov 1
Oct 12 – Nov 8
Target
Status
CTRclicks ÷ impressions · brand only
Google Ads
2.1%
2.2%
2.1%
no target
—
CTRclicks ÷ impressions
Meta
3.3%
2.8%
2.6%
no CTR targetthe Mexico campaign ends Oct 31
—
Viewed pricingreal visits that saw /pricing ÷ real visits
Site
11%
12%
17%
no target
—
Visit → leadleads ÷ real visits · the site's conversion rate
Site
0.9%
0.8%
1.3%
no target
—
Lead → new customernew customers whose email matches a lead ÷ leads · doesn't count anyone who paid without a form or with a different email
All
0%
0%
20%
no target
—
Cost per new customerad spend ÷ new customers whose lead came from Google Ads or Meta · only those matched by email
Paid ads
no customers from paid ads
no customers from paid ads
no customers from paid ads
$160–200
—
Meta CTR is measured with link clicks and has no target since the Mexico campaign ends on Oct 31. The cost-per-new-customer target is the one for the 2026–27 season. Leads come from HubSpot; 1 message that wasn't a service inquiry was removed this week.
⑤ Are the ads getting attention? — the Meta ad with the most impressions
US A | Imagen 3 pasos · texto 1
Campaign: US | Tráfico | Viajeros 12 ciudades | oct-nov-26
Nov 2–8
Oct 26 – Nov 1
Oct 12 – Nov 8
Impressions
1,500
294
1,806
Reachpeople
1,314
277
1,560
Frequencytimes each person saw it
1.14
1.06
1.16
Link clicks
38
10
48
CTRlink clicks ÷ impressions
2.5%
3.4%
2.7%
Cost per 1,000 impressions
$14.75
$8.88
$13.84
Ad spend
$22.13
$2.61
$25.00
Meta served 6,464 impressions to 4,760 people this week; this ad got 23% of them (6 ads had impressions). “Prior” and “4 wk” are for the same ad; “—” means it didn't run in that period.
⑥ Button clicks · Home page (hero)
17 clicks on the measured buttons of the Home page (/) this week · prior 11 · 4 wk 61 · from 30 real visits (prior 29 · 4 wk 124)
14
15
16
18
19
40 clicks · 0%
35 clicks · 29%
17 clicks · 41%
25 clicks · 29%
Screenshot of rocketcloset.com/ at 1440 px, October 22, 2026. Each number is a button in the list below, ranked by clicks this week.
1HeroSmall · Medium · Large7 clicks · 41%prior 6 clicks · 54% · 4 wk 32 clicks · 52% · real visits with a click: 5 of 30 (16.7%) (prior 2 of 29 (6.9%) · 4 wk 14 of 124 (11%)) · same data: plan picker (hero + menu)
2HeroSee my plan5 clicks · 29%prior 4 clicks · 36% · 4 wk 16 clicks · 26% · real visits with a click: 5 of 30 (16.7%) (prior 4 of 29 (13.8%) · 4 wk 15 of 124 (12%))
3HeroWhere do you ski ▼5 clicks · 29%prior 1 click · 9% · 4 wk 11 clicks · 18% · real visits with a click: 3 of 30 (10.0%) (prior 1 of 29 (3.4%) · 4 wk 7 of 124 (6%))
4Hero★★★★★ 5.0 from 68 reviews0 clicks · 0%prior 0 clicks · 0% · 4 wk 2 clicks · 3% · real visits with a click: 0 of 30 (0.0%) (prior 0 of 29 (0.0%) · 4 wk 2 of 124 (2%)) · same data: Google reviews links
5Reviewson Google0 clicks · 0%prior 0 clicks · 0% · 4 wk 2 clicks · 3% · real visits with a click: 0 of 30 (0.0%) (prior 0 of 29 (0.0%) · 4 wk 2 of 124 (2%)) · same data: Google reviews links
6LocationsSee coverage ×50 clicks · 0%prior 0 clicks · 0% · 4 wk 0 clicks · 0% · real visits with a click: 0 of 30 (0.0%) (prior 0 of 29 (0.0%) · 4 wk 0 of 124 (0%)) · all 5 cities combined
7FAQWrite to info@rocketcloset.com0 clicks · 0%prior 0 clicks · 0% · 4 wk 0 clicks · 0% · real visits with a click: 0 of 30 (0.0%) (prior 0 of 29 (0.0%) · 4 wk 0 of 124 (0%))
8FooterSign up (newsletter)0 clicks · 0%prior 0 clicks · 0% · 4 wk 0 clicks · 0% · real visits with a click: 0 of 30 (0.0%) (prior 0 of 29 (0.0%) · 4 wk 0 of 124 (0%))
9FooterGoogle Play0 clicks · 0%prior 0 clicks · 0% · 4 wk 0 clicks · 0% · real visits with a click: 0 of 30 (0.0%) (prior 0 of 29 (0.0%) · 4 wk 0 of 124 (0%))
10FooterPlay video0 clicks · 0%prior 0 clicks · 0% · 4 wk 0 clicks · 0% · real visits with a click: 0 of 30 (0.0%) (prior 0 of 29 (0.0%) · 4 wk 0 of 124 (0%))
11FooterInstagram0 clicks · 0%prior 0 clicks · 0% · 4 wk 0 clicks · 0% · real visits with a click: 0 of 30 (0.0%) (prior 0 of 29 (0.0%) · 4 wk 0 of 124 (0%))
12FooterFacebook0 clicks · 0%prior 0 clicks · 0% · 4 wk 0 clicks · 0% · real visits with a click: 0 of 30 (0.0%) (prior 0 of 29 (0.0%) · 4 wk 0 of 124 (0%))
13FooterLinkedIn0 clicks · 0%prior 0 clicks · 0% · 4 wk 0 clicks · 0% · real visits with a click: 0 of 30 (0.0%) (prior 0 of 29 (0.0%) · 4 wk 0 of 124 (0%))
14MenuPlans ▾ → Small · Medium · Largenot split by pagethe menu opens the next page on the same click, so GA4 records it on that page
15MenuGet startedpending José Luis
16MenuHow it workspending José Luis
17MenuCompare all planspending José Luisinside the Plans menu
18MenuLocationspending José Luisany destination or All locations
19MenuBlogpending José Luis
20HeroGet an instant quotepending José Luis
21Heroannual / monthlypending José Luis
22Reviews‹ ›pending José Luis
23How it worksPickuppending José Luis
24How it worksStoragepending José Luis
25How it worksDeliverypending José Luis
26How it worksApppending José Luis
27How it works3 questionspending José Luisall 3 combined
28FAQ6 expandable questionspending José Luisall 6 combined
29Closing sectionGet started (bottom of page)pending José Luis
30Closing sectionSee planspending José Luis
31FooterApp Storepending José Luis
32FooterLog inunconfirmedit's not confirmed yet whether GA4 counts it as an outbound click
0 clicks on the measured buttons of the Contact page (/contact) this week · prior 0 · 4 wk 5 · from 7 real visits (prior 3 · 4 wk 22)Too few visits to draw conclusions yet.
40 times
10 clicks
30 clicks
30 clicks
20 clicks
Screenshot of rocketcloset.com/contact at 1440 px, October 22, 2026. Each number is a button in the list below, ranked by clicks this week.
1Send a messageSend0 clicksprior 0 clicks · 4 wk 3 clicks · 60% · real visits with a click: 0 of 7 (0.0%) (prior 0 of 3 (0.0%) · 4 wk 3 of 22 (13.6%))
2Call us todayinfo@rocketcloset.com0 clicksprior 0 clicks · 4 wk 2 clicks · 40% · real visits with a click: 0 of 7 (0.0%) (prior 0 of 3 (0.0%) · 4 wk 2 of 22 (9.1%))
3Call us today(970) 743-9996 ×20 clicksprior 0 clicks · 4 wk 0 clicks · 0% · real visits with a click: 0 of 7 (0.0%) (prior 0 of 3 (0.0%) · 4 wk 0 of 22 (0.0%)) · both phone links combined
4Send a messageStarted the form0 timesprior 0 times · 4 wk 9 times · real visits with a click: 0 of 7 (0.0%) (prior 0 of 3 (0.0%) · 4 wk 3 of 22 (13.6%)) · supporting data, not a button
5MenuSame as Homesee Home
6FooterSame as Homesee Home
measuredshares its data with another buttonsupporting data, not a clicknot measured yet, or measured starting on a later date
Clicks = every tap GA4 recorded on that button, on that page, during the week (one person tapping it 4 times counts as 4). % = that button's clicks ÷ all clicks on the page's measured buttons in the same period. Buttons that share the same data count once in the total, but each one shows the same %, so the list can add up to a bit more than 100%; “Started the form” is supporting data, not a click, so it's left out. For “4 wk,” the total only includes buttons measured for the full 4 weeks. Real visits with a click = real visits to the page (engaged sessions, with no bots, internal traffic, or tests) in which someone tapped the button at least once. “Not measured yet” means the site doesn't track that button, not that nobody tapped it. GA4 reports days in Central Time. The screenshot is refreshed when the site changes; the numbers are refreshed every week.
⑧ Tracking health · 🔴 worst of 16 checks
🔴
Duplicate purchasesMeta 89 · GA4 0: Meta counts the same purchase more than once (thank-you page reloads)Why it matters: if Meta counts one sale several times, it thinks the ads sell more than they do · Source: Meta (pixel) and GA4
🔴
Event Match Quality (Facebook)131 of 5,596 events carry an email (2.3%); Meta doesn't expose the official score via API, so this is an approximate measureWhy it matters: without an email or phone number, Meta can't tell who to credit for the visit or the purchase · Source: Meta (pixel match keys)
🔴
Server-side events to Metaserver 0 · browser 0 events; browser Purchase + Lead: 99. The API doesn't break down which events the server sentWhy it matters: without server-side events, purchases the browser misses never reach Meta · Source: Meta (pixel event source)
🟡
Google Ads counts purchases and leads correctly1 primary purchase action · 0 purchases in Ads vs. 0 new customers in Stripe · the leads goal includes: Rocket Closet Property (web) contact_clickWhy it matters: if Google Ads counts phone clicks as leads, it optimizes toward things that aren't sales · Source: Google Ads (conversion actions and goals)
🟡
Site tags and buttonscontainer version 135; the last approved version was 134 · tags and buttons in placeWhy it matters: if someone publishes the container or changes a button, tracking breaks without warning · Source: public download of gtm.js and the site
🟡
Cookie noticeno cookie notice (“Cookie preferences” doesn't go anywhere); decision pendingWhy it matters: it's a pending business and legal decision, not a tracking failure · Source: public download of the site
🟡
Meta sees as many page views as GA4Meta counted 5,229 page views vs. 800 in GA4 (653.6% of GA4) · more than GA4: the pixel may be firing twice on some pages, or Meta is counting visits GA4 filters out (bots, internal traffic)Why it matters: if Meta sees far fewer page views than Analytics, its ads can't learn from or retarget everyone who visits · Source: Meta (pixel stats by event) and GA4 (page_view, same cleanup filter as this report)
🟢
GA4 receives the key eventspage_view 800 · generate_lead 1 · contact_click 0 · purchase 0 · no data this week: contact_click, form_submit_plans, purchaseWhy it matters: if Analytics stops receiving visits or forms, the report goes blind · Source: GA4 (this week's events and the key events list)
🟢
Meta pixel is livelast PageView 1 hour ago (6 in the hour starting 4 AM, Nov 9, Denver time) · this week: PageView 5,229 · InitiateCheckout 72 · Lead 10 · Purchase 89 vs. 0 new customers in StripeWhy it matters: the pixel is what tells Meta who visited and who bought · Source: Meta (pixel stats by hour, last 72 hours)
🟢
HubSpot receives the forms1 of 1 GA4 forms have a matching HubSpot submission (±10 min) · HubSpot recorded 7 submissions this week (it counts every submission: tests, newsletter, spam, and existing contacts too; funnel ① counts only the 2 real new contacts)Why it matters: a form Analytics sees that never reaches HubSpot is a prospect nobody follows up with · Source: GA4 (generate_lead) and HubSpot
🟢
Purchases arrive with their sourceno new customers this weekWhy it matters: without a source, there's no way to tell which channel brought the sale · Source: Stripe (payments) and GA4 (purchase)
🟢
New customers with their channelno new customersWhy it matters: the email match is what tells us which channel each customer came from · Source: Stripe and HubSpot
🟢
Bots, internal traffic, and tests61 of 739 sessions were removed (8.3%)Why it matters: if fake traffic slips in, every rate comes out wrong · Source: GA4 (raw vs. clean sessions)
🟢
Search Consolereadable · 34 clicks and 5,555 impressions this week · the daily sum matches the total (34 = 34) · Nov 8 preliminaryWhy it matters: without Search Console, Google's free (organic) impressions and clicks can't be seen · Source: Search Console (search API, read-only)
🟢
Meta tokendoesn't expireWhy it matters: once it expires, the report stops reading Meta · Source: Meta (debug_token)
⚪
Pixel fires on key pages (live test)not run: there's no browser where the report runsWhy it matters: a quick spot check that the pixel loads on the pages that matter, not just on paper · Source: live load of 5 pages in headless Chrome (nothing submitted)
8 green · 4 yellow · 3 red · 1 not run. Each check is read every week via API or from the public page; “couldn't be read” never counts as green. Event Match Quality here is an approximate measure (events that carry an email): Meta doesn't expose the official score via API.
How site visits were cleaned up. This week: out of 739 sessions, 678 were left after cleanup (61 removed: 21 from other domains; the rest were bots), and of those, 111 were engaged: those are the real visits. Last 4 weeks: out of 2,395 sessions, 2,148 were left after cleanup (247 removed: 12 internal or test sessions and 28 from other domains; the rest were bots), and of those, 397 were engaged: those are the real visits. Engaged: the session lasted more than 10 seconds, viewed 2 or more pages, or had a conversion (GA4's rule; used since October 19, 2026). Bots: data centers and visits with no country and not a single second of engagement. Internal or test: team links, HubSpot, and development environments. GA4 reports days in Central Time, one hour ahead of Mountain Time.