{"slug":"domain-landings","total":34,"limit":100,"offset":0,"since":null,"commits":[{"hash":"180c3e5","date":"2026-09-04 10:53:27 -0700","author":"Steve Abrams","subject":"chore: v0.3.3 (session close — GA4 fleet buildout complete: 84 backfilled + 10 created, 94/94 live)","body":"Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01E4T2ZoC42e62XV7YkkT1Qg"},{"hash":"eeff377","date":"2026-09-04 09:48:50 -0700","author":"Steve Abrams","subject":"TK-10631: fix wrong hardcoded GA4 account (371997142 -> 15714274) that caused every prior create_property 403","body":"Discovered via ~/Projects/ga-allsites/gate1_result.json (2026-08-21) recording that the reference sibling properties (commercialwallcovering.com, hollywoodwallcovering.com, designerwallcoverings.ai) all live under accounts/15714274 'DesignerWallcoverings.com', not accounts/371997142 'Steve Abrams APPS' that every script in this ticket had wrongly targeted. Confirmed live via list_data_streams cross-check. This likely explains all 4 prior automation failures, not a bad Editor grant.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01E4T2ZoC42e62XV7YkkT1Qg"},{"hash":"6ccd60a","date":"2026-09-04 08:33:00 -0700","author":"Steve Abrams","subject":"TK-10631: create + wire the final 10 GA4 properties — fleet complete at 94/94","body":"The DTD 8/8 verdict was correct: the service account CAN create in\naccounts/15714274. The 2.5-week 'blocked on an Editor grant' was a targeting\nbug all along — every 403 came from aiming at accounts/371997142 (APPS).\nNo console grant was ever needed.\n\n9/10 created on the first pass; nationalvotingday.org hit a transient 429\nquota error and succeeded on retry (the script's idempotency made that a\nno-op re-run). domains.json now 106/162 tagged.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_017NeANPg68rvqrsCZidci85"},{"hash":"47e1773","date":"2026-09-03 20:10:36 -0700","author":"Steve Abrams","subject":"TK-10631: re-target GA4 create at accounts/15714274 per DTD 8/8 verdict","body":"All 12 originally-wired landers AND all 84 backfilled ones live in\naccounts/15714274; zero in APPS (96-0). The APPS targeting was the anomaly\nand the source of every 403 since 2026-08-17. Adds --account flag, defaults\nto 15714274. Dry-run verified: exactly 10 to create.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_017NeANPg68rvqrsCZidci85"},{"hash":"c4037fe","date":"2026-09-03 14:25:03 -0700","author":"Steve Abrams","subject":"TK-10631: backfill 84 existing GA4 measurement IDs into domains.json + corrected create script","body":"Live re-verification corrected the scope from 150 to 94 real targets, then a\ncross-account stream index showed 84 of those 94 ALREADY have a purpose-built\nGA4 property in accounts/15714274 - they were simply never wired into\ndata/domains.json. Only 10 domains genuinely need a new property.\n\nAlso fixes two defects in the previously staged create_all_ga4.py:\n  - scope: targeted 150 domains, of which 20 already served a gtag and 29 are\n    not landers at all (28 serve the shared Trade Lines page)\n  - dedupe: indexed the APPS account only, so 19 of those 20 (which live in\n    accounts/15714274) would NOT have deduped -> ~19 duplicate properties,\n    including duplicates of the do-not-touch Shopify tag G-53F1QBZSG0\n\nLocal + reversible: no Google write, no deploy. Read-back verified.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_017NeANPg68rvqrsCZidci85"},{"hash":"f5789c1","date":"2026-09-03 13:54:33 -0700","author":"Steve Abrams","subject":"TK-10631: stage expanded GA4 create script for all 150 remaining domain-landings domains (Steve-approved scope expansion)","body":"Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01E4T2ZoC42e62XV7YkkT1Qg"},{"hash":"c630ac0","date":"2026-08-27 10:27:18 -0700","author":"Steve Abrams","subject":"TK-10631: stage gated 12-property GA4 create script (approval-gated Google write)","body":""},{"hash":"677a4bc","date":"2026-08-19 13:37:01 -0700","author":"Steve Abrams","subject":"chore: v0.3.2 (session close — favicon fix lint/review)","body":""},{"hash":"1e7e85f","date":"2026-08-19 12:34:33 -0700","author":"Steve Abrams","subject":"Add per-brand SVG favicon (link + /favicon.ico route) so domain bookmarks render in Chrome","body":""},{"hash":"0579bb1","date":"2026-08-18 11:18:19 -0700","author":"Steve Abrams","subject":"chore: v0.3.1 (session close — lander configs for un-parked domains)","body":""},{"hash":"50964f1","date":"2026-08-18 11:01:54 -0700","author":"Steve Abrams","subject":"domain-landings: add 11 parked-domain lander configs with GA4 ids (67calc, askgoodquestions, bubbeleh, designerwallcoverings.ai, fabrics/murals/wallpaper/walls-ondemand, greendomainbrokers, hospitalitysalesrepresentatives, wall-papers.org)","body":""},{"hash":"fb030ed","date":"2026-08-18 09:15:23 -0700","author":"Steve","subject":"chore: v0.3.0 (session close — wall open-in-new-window + host-scope)","body":""},{"hash":"2dd730e","date":"2026-08-18 06:04:42 -0700","author":"Steve Abrams","subject":"GA4: wire dsgntv.com property G-V5JTVMGNBN into landing config","body":""},{"hash":"4a71985","date":"2026-08-17 17:51:13 -0700","author":"Steve","subject":"ops: 443-cert remediation script + results (40 dead apex domains -> valid TLS)","body":""},{"hash":"3ca6313","date":"2026-08-17 17:27:00 -0700","author":"Steve","subject":"wall: host-scope admin surface to wall.agentabrams.com only (404 on butler + all tenant domains)","body":""},{"hash":"11a4a85","date":"2026-08-17 17:22:39 -0700","author":"Steve","subject":"wall: add liveness-probe report (cert-mismatch = the 'dead sites' root cause)","body":""},{"hash":"e79003b","date":"2026-08-17 17:22:27 -0700","author":"Steve","subject":"wall: add per-chip open-in-new-window control (↗ open button + meta ↗ link)","body":""},{"hash":"df81e89","date":"2026-08-17 17:19:49 -0700","author":"Steve Abrams","subject":"chore: refactor (checkBasicAuth helper), v0.2.0 (session close)","body":""},{"hash":"8bfdf53","date":"2026-08-17 17:15:46 -0700","author":"Steve Abrams","subject":"5x: contrarian-gate fixes verified + report updated","body":""},{"hash":"a5fd5d4","date":"2026-08-17 17:14:20 -0700","author":"Steve Abrams","subject":"5x/contrarian: server-side frame-block detection (58 sites) — goLive opens blocked sites in new tab, no silent blank iframe","body":""},{"hash":"995c737","date":"2026-08-17 17:09:59 -0700","author":"Steve Abrams","subject":"5x/contrarian fixes: goLive blocked-embed feedback + LIVE-set restore on re-render + auth-gate /thumbs","body":""},{"hash":"ce67c54","date":"2026-08-17 17:01:50 -0700","author":"Steve Abrams","subject":"5x: portfolio wall clean twice (sweeps 2-3); report","body":""},{"hash":"3e80d2e","date":"2026-08-17 16:59:37 -0700","author":"Steve Abrams","subject":"5x sweep 1: wall skips thumbnail request for domains w/o a screenshot (kills 404 noise)","body":""},{"hash":"978ba6d","date":"2026-08-17 16:09:02 -0700","author":"Steve Abrams","subject":"deploy: Meta pixel live on all 88 landings (GA4 + pixel now standard)","body":""},{"hash":"92cd673","date":"2026-08-17 16:01:37 -0700","author":"Steve Abrams","subject":"wall: gitignore thumbs dir (285 screenshots served from Kamatera)","body":""},{"hash":"93a827b","date":"2026-08-17 15:55:36 -0700","author":"Steve Abrams","subject":"wall: thumbnail-primary (screenshot) with click-to-live-iframe + /thumbs route","body":""},{"hash":"ee0d788","date":"2026-08-17 15:46:24 -0700","author":"Steve Abrams","subject":"admin: portfolio wall (/admin/wall) — iframe grid of all 290 sites, density slider + sort + lazy-load","body":""},{"hash":"15951fe","date":"2026-08-17 15:24:19 -0700","author":"Steve Abrams","subject":"migrate 15 abrams-* coming-soon domains to full GA4 landings","body":""},{"hash":"63d91b6","date":"2026-08-17 14:39:03 -0700","author":"Steve Abrams","subject":"5x: 818butler.com clean twice (pre + post GA4); report","body":""},{"hash":"45f9842","date":"2026-08-17 14:15:24 -0700","author":"Steve Abrams","subject":"app: George payload uses body field (was text) — fixes offer email delivery","body":""},{"hash":"8a2e5c4","date":"2026-08-17 14:12:23 -0700","author":"Steve Abrams","subject":"app: Basic-auth base64 for George + .env loader (secrets stay in 600 file)","body":""},{"hash":"82ea4eb","date":"2026-08-17 14:03:47 -0700","author":"Steve Abrams","subject":"app: admin inquiries viewer (Basic Auth, created date+time) + env-configurable George email auth","body":""},{"hash":"ee9f1e5","date":"2026-08-17 13:14:58 -0700","author":"Steve Abrams","subject":"batch rollout tooling: dns_point + batch_nginx (batch 1: 18 domains live)","body":""},{"hash":"90fa189","date":"2026-08-17 12:42:14 -0700","author":"Steve Abrams","subject":"domain-landings: multi-tenant themed landing + GA4 + offer form (151 undeveloped domains)","body":""}]}