Measurement Plan

TNK Designs — Analytics implementation overview

Author
Guillermo García
Site URL
https://tnk-project.vercel.app/
Stack
Static HTML · Tailwind CSS · Vanilla JS
Analytics layer
Google Tag Manager + GA4
Data layer library
analytics.js (shared, all pages)
Privacy
PII filtered · email SHA-256 hashed · no raw textarea
Pages instrumented
11 pages (7 with engagement)
Last updated
2026-03-11

Events implemented

All Parameters

Full parameter registry across all events

# Parameter Type Events Example value Notes

page_view

Fires on DOMContentLoaded on every page — reads window.TNK_PAGE · one row per unique page_category + page_type combination (6 of 11 pages shown)

select_content

Fires on all navigational clicks across the site

generate_lead

Fires on contact form submit — non-PII fields + SHA-256 hashed email

orbit_interaction

Fires on hover of the orbiting skills section on the Home page

Copied!

post engagement

blog_like + blog_comment — fires on blog post pages via Supabase backend

Version History

Changelog — every major update to this measurement plan

v2.0 2026-03-11 Post engagement

Added post-level engagement features to all 7 blog post pages: likes (heart button with toggle) and comments (form + listing). Backed by Supabase with Row-Level Security. Two new GA4 events, two new parameters.

  • 2 new events: blog_like, blog_comment
  • 2 new parameters: action (like|unlike), comment_length
  • Supabase backend: tables post_likes and post_comments
  • Per-browser like deduplication via localStorage["tnk_browser_id"] (UUID)
  • New tab 08 — post_engagement added to this document
  • Archive: measurement_plan_v1.html
v1.0 2026-03-10 Initial release

First complete measurement plan for the TNK Designs portfolio. Covers all 5 events with full parameter documentation, dataLayer push examples, and per-row screenshots with element highlights.

  • 5 events documented: page_view, select_content, generate_lead, orbit_interaction, search
  • 21 shared parameters across events
  • 29 select_content interactions documented (nav, hero, cards, footer, blog listing, filters, projects, contact)
  • 6 page_view rows (one per unique page_category + page_type combination)
  • 70+ automated screenshots via Puppeteer with red-box element highlights
  • 7 CSV exports for Google Sheets import
  • Archive: measurement_plan_v1.html

Versioning rules

A new version is created for every major update: new event added, existing event removed or renamed, new parameter added/removed, tracking approach changed. Minor fixes (typos, broken links, screenshot refreshes) do not increment the version. Before each version bump, the current file is archived to archive/measurement_plan_vN.html.