📂 Screenshots not visible? Download the standalone version — single file, all screenshots embedded, works offline.

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
GTM Container
GTM-KW97DTMV · Account: tnk-project (6343762712)
GA4 Measurement ID
G-25V933JKJD
GA4 Stream
tnk-analytics-design-website · Stream ID: 13893341764 · https://tnk-project.vercel.app
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-12

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

post_engagement

Single event — fires on blog post pages for likes and comments. action distinguishes the interaction type.

Copied!

Version History

Changelog — every major update to this measurement plan

v3.0 2026-03-11 Schema refactor

Unified post engagement tracking into a single post_engagement event. Standardised all content_id values across events to use underscores instead of hyphens.

  • Replaced blog_like + blog_comment with single post_engagement event
  • action parameter now carries like | unlike | comment
  • Removed comment_length parameter — no longer sent
  • All content_id values across select_content and post_engagement now use _ separators (e.g. beautiful_dashboards)
  • post_engagement tab rebuilt to match standard event-block structure with #NN index, param-tags, code-block, screenshots
  • Updated all 7 blog HTML files to push post_engagement with underscore slugs
  • Archive: measurement_plan_v2.html
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.