Skip to content
Tracking plan · baselinestudio.cc

Every event this site records, and why.

This is the measurement plan for our own website. It is also the shape of the document a client receives on day one of any engagement.

Events
11
Properties
14
Personal data
None
Cookies
None

The page you are reading is generated from src/lib/events.ts — the same file the site is instrumented from. The document cannot drift from the code, because there is only one description of either. A studio that sells measurement and publishes a plan that disagrees with its own implementation has already answered the only question that mattered.

What is not here

  • No personal data. No email addresses, and nothing a visitor types.
  • No identifier that survives the session, and none that crosses to another site.
  • No cookies — which is why this site has no cookie banner rather than a well-designed one.
  • No event without a question. Anything that answers nothing is telemetry, and it does not get added.

Events

page_view

2 properties

Which pages are looked at, and does anyone reach the tracking plan from search?

Trigger
Once per page load, after the document is interactive.
Properties sent with page_view
PropertyTypeDescription
pathstringPath of the page, without query string or hash.
referrer_hoststringHost of the referrer, or "direct". Host only — never the full URL.

section_viewed

2 properties

How far down does a prospect actually read, and does anyone reach the engagements section?

Trigger
The first time a section is at least 50% visible in the viewport for 1s. Fires once per section per page load, never again.
Properties sent with section_viewed
PropertyTypeDescription
sectionstringWhich section became visible.heroproblemwhat-we-domethodengagementswho-we-arecontact
seconds_since_loadnumberWhole seconds between page load and the section being seen.

cta_clicked

2 properties

Which part of the argument makes someone want to talk to us?

Trigger
A click on any call to action that starts a conversation.
Properties sent with cta_clicked
PropertyTypeDescription
locationstringWhere on the page the call to action sits.heronavmethodwhat-we-doengagementswho-we-arecontactfooter
labelstringThe visible text of the control that was clicked.

problem_section_viewed

1 property

Does the description of their situation hold people, or do they scroll past the part that is written about them?

Trigger
The problem section reaches 50% visibility. Fires in addition to `section_viewed` because this section is isolated on purpose.
Properties sent with problem_section_viewed
PropertyTypeDescription
seconds_since_loadnumberWhole seconds between page load and the section being seen.

pricing_viewed

1 property

Do people who read the method go on to look at what an engagement costs?

Trigger
The engagements section reaches 50% visibility.
Properties sent with pricing_viewed
PropertyTypeDescription
seconds_since_loadnumberWhole seconds between page load and the section being seen.

engagement_tier_viewed

1 property

Which entry point do people actually consider — the audit, the pilot, or the full project?

Trigger
An individual engagement tier reaches 50% visibility. Fires once per tier per page load.
Properties sent with engagement_tier_viewed
PropertyTypeDescription
tierstringWhich tier was seen.adoption-auditpilot-projectprojectcontinuous-measurement

what_we_do_viewed

1 property

Does anyone go looking for the full offer, or is the overview on the main page enough?

Trigger
A visit to /what-we-do.
Properties sent with what_we_do_viewed
PropertyTypeDescription
entrystringHow the page was reached.directinternalexternal

tracking_plan_viewed

1 property

Does publishing the measurement plan earn any attention, or is it only for us?

Trigger
A visit to /tracking-plan.
Properties sent with tracking_plan_viewed
PropertyTypeDescription
entrystringHow the page was reached.directinternalexternal

form_started

1 property

How many people begin writing to us but do not finish?

Trigger
The first keystroke in any field of the contact form. Fires once per page load.
Properties sent with form_started
PropertyTypeDescription
fieldstringWhich field was typed in first.nameemailmessage

form_submitted

1 property

How many conversations does this site actually start?

Trigger
The contact form is submitted and the server accepts it.
Properties sent with form_submitted
PropertyTypeDescription
seconds_to_submitnumberWhole seconds between the first keystroke and the submission.

email_copied

1 property

Do people prefer their own mail client to our form? If so, the form is the wrong thing to lead with.

Trigger
The email address is copied — by the copy control, or by selecting it and pressing copy.
Properties sent with email_copied
PropertyTypeDescription
methodstringHow it was copied.buttonselection