The README's marquee engineering decision is "Custom first-party tracking over GA4 — Full data ownership with server-side event collection... the same event stream feeds both PostHog and HubSpot." But index.html still loads GA4 (gtag for G-4HKLKWE5ZD, with send_page_view: false). A technical reviewer reading the README and then viewing source will see the stated decision contradicted on the very first page load.
Evidence: index.html <script async src="https://www.googletagmanager.com/gtag/js?id=G-4HKLKWE5ZD"> and gtag('config', 'G-4HKLKWE5ZD', { send_page_view: false }); README 'Key Engineering Decisions' → 'Custom first-party tracking over GA4'.
Pick one and make it consistent:
- Option A (cleaner narrative): remove the GA4 snippet entirely and lean fully on the server-side PostHog/HubSpot pipeline the README describes.
- Option B: keep GA4 but reword the README decision to position GA4 as a marketing/SEO baseline that the first-party server-side stream supplements (not replaces).
Acceptance criteria:
- index.html and README make a single, consistent claim about the tracking stack.
- If GA4 stays, README explains why it coexists with first-party tracking.
- No double-counting of pageviews that would distort either dataset.
The README's marquee engineering decision is "Custom first-party tracking over GA4 — Full data ownership with server-side event collection... the same event stream feeds both PostHog and HubSpot." But index.html still loads GA4 (
gtagforG-4HKLKWE5ZD, withsend_page_view: false). A technical reviewer reading the README and then viewing source will see the stated decision contradicted on the very first page load.Evidence: index.html
<script async src="https://www.googletagmanager.com/gtag/js?id=G-4HKLKWE5ZD">andgtag('config', 'G-4HKLKWE5ZD', { send_page_view: false }); README 'Key Engineering Decisions' → 'Custom first-party tracking over GA4'.Pick one and make it consistent:
Acceptance criteria: