87% of "users" have a 1920×1080 screen
80,709 of 92,985. The old tell (800×600 screens) is now only 10%. 99% are desktop, almost all Chrome, and the average visit is 8 seconds.
freebirdpromo.com in Google Analytics (GA4) and Google Search Console. GA4: Oct 14–25, 2026. Search Console: Oct 15–24. Pulled Oct 26, 2026.
Unlike Compound, "engaged sessions" isn't honest here: the scanners open several links in a row, so GA4 counts half of them as engaged (49,854). The honest numbers are phone and tablet visitors, the small channels below, and leads.
Every spike lines up with an email going out. On a send day, mail filters at schools and companies open every link before a person sees the email. Direct moves with Email because many scanners strip the tracking tags. Oct 25 was a Saturday with no newsletter and still logged 18,000 sessions, so scanners are still hitting the links days later.
EmailDirectEverything else
Channels in GA4's custom "Freebird Channels (with Creator/UGC)" group, Oct 14–25. Key events here also count old form_submit and call-tap events (see Leads).
| Channel | Sessions | Engaged | Avg time | Key events | Read |
|---|---|---|---|---|---|
| 72,739 | 39,096 | 6s | 2 | Mostly scanners | |
| Direct | 22,531 | 10,550 | 12s | 6 | Mostly scanners |
| Unassigned | 1,688 | 2 | 9s | 0 | Scanners |
| Cross-network (Google PMax) | 121 | 52 | 48s | 2 | Real |
| Paid Search | 95 | 49 | 1m 02s | 2 | Real |
| Paid Social (Meta) | 63 | 10 | 0s | 0 | Weak |
| Organic Social | 35 | 14 | 2s | 0 | Real, light |
| Organic Search | 34 | 15 | 43s | 3 | Real |
| Referral | 22 | 15 | 5s | 0 | Real, light |
| Total | 97,165 | 49,854 | 7s | 15 |
The channels scanners don't touch, per day: Google Ads, PMax, organic search, social and referral. This is the real baseline: about 30 visits a day.
Paid Search visitors stay longest (1 min 2 s). Paid Social brought 63 sessions at 0 seconds, the same pattern as Compound's Meta traffic. No Creator/UGC traffic yet.
Same culprit as the September diagnosis, but the fingerprint changed, so the saved filter no longer catches most of it.
80,709 of 92,985. The old tell (800×600 screens) is now only 10%. 99% are desktop, almost all Chrome, and the average visit is 8 seconds.
Des Moines, San Jose, Moses Lake, Phoenix and "(not set)" alone are 85%. None of these send phone traffic.
| Location | Users |
|---|---|
| (not set) | 27,508 |
| Des Moines | 14,442 |
| San Jose | 13,966 |
| Moses Lake | 13,792 |
| Phoenix | 9,063 |
| (no country) | 2,161 |
| Ashburn | 1,668 |
| Council Bluffs | 1,311 |
Live Tag Manager is version 8, published Oct 19 by the agency. Scanner traffic kept climbing through Oct 25, so the "Block - Likely bot" trigger either isn't in it or doesn't match the new fingerprint.
The saved Exploration "Likely humans (bot-filtered)" shows 3,403 users, but its top rows are still scanners (Flint Hill 775, Los Angeles 400, Amsterdam, Manassas, Dublin, Toronto: all desktop, zero phones).
Leads count only from the generate_lead event (contact and quote forms). The form-interactions setting was turned off Oct 19, so older form_submit counts include search bars and aren't leads.
By channel: Organic Search 2, Direct 2, Email 1, PMax 1. Most started on the home page (10 of the 15 key events). Also 1 click-to-call tap (Direct).
All Direct, landing on a product page. 9 add-to-carts from 4 people. No begin_checkout events at all, so that step isn't reaching GA4. If the $158.20 is one order, purchase is firing three times.
form_submit (2, from Oct 17), contact_form_submit1 and click_to_call1 are still marked as key events, so "15 key events" overstates leads. Leaving only purchase and generate_lead makes every report read true.
| Landing page | Sessions | Avg time | Key events | Read |
|---|---|---|---|---|
| /shop | 55,436 | 5s | 0 | Scanners following product links in email |
| /product | 24,443 | 11s | 3 | Same, plus the one purchase |
| / (home) | 18,316 | 8s | 10 | Where most real leads started |
| /index | 29 | 1m 02s | 2 | Real visitors |
| Blog posts (13 of them) | 22 | mostly <10s | 0 | Search Console shows 59 posts getting impressions |
Search Console property https://freebirdpromo.com/ (linked to GA4 Oct 16). Ten days of data, so treat this as where the site starts, not a trend.
Bars: impressions per day. Labels: clicks that day. Hover for average position.
67 searches showed the site at least once. None of them got a click yet: Google hides the queries behind the 9 clicks. Grouped by theme:
| Search | Impressions | Position | Page Google showed |
|---|---|---|---|
| structured vs unstructured hat(s) | 27 | 58–67 | /blog/structured-vs-unstructured-caps (position 61) |
| freebird coupons / promo code / coupon code | 28 | 23–53 | Brand: people looking for a code |
| peel and stick calendars (5 versions) | 15 | 40–51 | No page aimed at it |
| fall giveaway ideas / items / promo items (9 versions) | 16 | 31–83 | /blog/fall-seasonal-giveaway-guide (position 47) |
| corporate picnic planning | 5 | 39 | /blog/company-picnic-planning-guide |
| reflector clip / clip on reflector | 6 | 29–32 | Product page |
| swag for millennials / gen z swag ideas | 5 | 12–45 | /blog/generational-marketing-swag-guide |
| swag for nonprofits / fundraising swag | 3 | 8–24 | /blog/charity-fundraiser-event-swag-guide |
| college swag | 2 | 21 | /blog/college-bookstore-alumni-swag-guide |
| moleskine gift | 2 | 14 | Product page |
"freebird coupons / promo code" is people looking for a discount code. We don't run codes, so there's nothing to rank for; a one-line FAQ answer is enough.
The blog is doing the reaching: 59 of 204 posts got impressions, product pages almost none (48 pages, 93 impressions, 0 clicks). These posts sit in the top 10 but haven't earned a click yet. A sharper title and description is the cheapest win.
| Page | Impressions | Position |
|---|---|---|
| /blog/quarter-zip-vs-polo-corporate-apparel | 75 | 8.0 |
| /blog/100-shirt-order-real-cost-breakdown | 5 | 6.6 |
| /blog/intern-swag-guide | 3 | 6.7 |
| /blog/promo-product-trends-2027 | 4 | 7.0 |
| /blog/weirdest-corporate-mascots-history | 4 | 8.3 |
| /blog/swag-budget-by-company-size-guide | 5 | 8.8 |
| /blog/college-bookstore-alumni-swag-guide | 9 | 9.3 |
| /faq | 3 | 9.3 |
| /blog/giving-tuesday-nonprofit-guide | 2 | 3.5 |
| /blog/collectible-promotional-products | 2 | 4.0 |
| Page | Clicks | Impressions | Position |
|---|---|---|---|
| / (home) | 6 | 47 | 28.1 |
| /about | 1 | 11 | 4.0 |
| /privacy | 1 | 7 | 10.1 |
| /blog/user-generated-content-marketing | 1 | 1 | 2.0 |
| /blog/quarter-zip-vs-polo-corporate-apparel | 0 | 75 | 8.0 |
| /blog/structured-vs-unstructured-caps | 0 | 34 | 60.6 |
| /product?cpn=1025M | 0 | 16 | 44.8 |
| /blog/fall-seasonal-giveaway-guide | 0 | 16 | 47.4 |
| /blog/generational-marketing-swag-guide | 0 | 15 | 22.5 |
| /blog/college-bookstore-alumni-swag-guide | 0 | 9 | 9.3 |
| /contact | 0 | 9 | 60.0 |
132 "duplicate without user-selected canonical" + 66 "Google chose a different canonical". Product pages live at /product.html?cpn=…, so the same item can exist at several addresses. One canonical URL per product fixes it (ties to the unpushed duplicate-product-number fix).
/industry-tech, /industry-sports and /industry-education.html still 404: redirect them to the matching industry page. /cart.html?paid=1 showed in search: the cart has a noindex tag, but robots.txt blocks Google from reading it. Remove the cart line from robots.txt so the noindex works.
sitemap.xml submitted Oct 16, last read Oct 24, 252 pages found, no errors. 43 pages crawled but not indexed yet; normal for a two-week-old property.
Sources: GA4 property 559065740 (Traffic acquisition by "Freebird Channels (with Creator/UGC)", one day per pull; Tech and Demographic details; Events; Landing page), Search Console URL-prefix property https://freebirdpromo.com/ (web search, Oct 15–24), Tag Manager GTM-P2NNXQ5R version history. "Likely real people": low end = phone + tablet users; high end ≈ 1,900 users across every city outside the 27 data-center and scanner locations. Raw pulls: __CLAUDE/freebird-traffic-seo-report/data/. Live URL checks run Oct 26, 2026.