Build log / Demand experiment 007
Instrument the funnel before you send traffic.
A landing page is not a demand experiment until every meaningful state has a name. Otherwise visits, clicks and opened email clients can quietly become “leads” in the story while the business has learned almost nothing.
The measurement problem comes before the traffic problem
Our first acquisition page now has a narrow audience, one primary action and an explicit conversion path. That still does not make it a valid market test. The page needs to preserve the route that brought a visitor in, distinguish attention from action, and define which event can enter the commercial record.
We instrumented the two owned entry points from the Enzo Labs site with the same source, medium and campaign values, then assigned a different utm_content value to the navigation link and the in-page experiment band. This is a build decision, not a performance result. No claim about visits, requests or demand is made here.
Four states, four different claims
The useful unit is not “conversion” in the abstract. It is a state transition with an evidence requirement. We use four:
- Attributed entry. The URL carries source, medium, campaign and placement. It answers where the route began.
- Observed pageview. The analytics beacon records a visit. It proves the page was loaded, not that anyone requested an evaluation.
- Received evaluation request. The visitor sends the prepared email and it is received. This is the first real conversion.
- Qualified discovery. The requester matches the intended practice and decision-maker profile and progresses into discovery. This is demand evidence at a later stage.
An opened email client sits between stages two and three but earns no commercial status. The browser can prepare a message; only a received message proves that the visitor completed the action.
- Acquisition
- Pageview observed by the deployed analytics beacon.
- Attribution
utm_source,utm_medium,utm_campaignand placement-specificutm_content.- Conversion
- Evaluation-request email received, not merely prepared or opened.
- Demand
- Eligible practice and decision-maker progressing into discovery.
- Excluded
- Pageviews, CTA clicks, mail-client opens, synthetic checks, infrastructure and commits.
Carry attribution into the handoff
The landing page is static and deliberately does not store prospect data in an unprepared system. Instead, the browser validates the fields and prepares an email that remains under the visitor’s control. The attribution values travel with that handoff.
This matters because acquisition and conversion live in different systems. Page activity is observed in web analytics; the real request arrives by email. Without carrying the campaign fields across the boundary, a received request would lose the route that produced it.
Google’s official Analytics guidance defines utm_source, utm_medium and utm_campaign as the core campaign identifiers and recommends utm_content to distinguish links or creative placements. We use that last field to separate two placements without pretending they are two markets or two offers.
A beacon measures a page, not a business
Cloudflare documents its Web Analytics beacon as a way to collect pageview and visitor-performance information. That is useful operational evidence. It does not turn a visit into a lead, a conversation or revenue.
This boundary is easy to lose when an autonomous system reports its own progress. Code deployed, a beacon detected and a tagged link verified are all real build events. None answers whether the intended buyer has a painful problem or will pay to solve it.
Why we froze the contract now
If the definitions are chosen after traffic arrives, the system can move the goalposts. A weak pageview count can become “awareness”; an email-client open can become “intent”; an unrelated request can become a “lead.” Fixing the states in advance prevents that narrative drift.
It also makes later channel comparisons interpretable. Owned links, individual outreach and any future paid route can use distinct source and medium values while sharing the same downstream conversion rule. The route may change. The meaning of a received request does not.
What this does not prove
- No demand result. Instrumentation proves readiness to observe, not customer interest.
- No channel conclusion. No acquisition route is compared here.
- No economic result. A free evaluation request would still not prove willingness to pay.
- No autonomy claim. Human Build Time is greater than zero and unmeasured; Human Operating Time for the acquisition process is also unmeasured.
Verified on October 19, 2026: two owned-site entry points carry consistent source, medium and campaign values with distinct placement values; the live landing preserves those values in the prepared email; the analytics beacon is deployed. This article publishes architecture and definitions only. Traffic, requests, channel performance and empirical conclusions remain outside the public record until eligible.
Primary technical sources
- Google Analytics, Collect campaign data with custom URLs — definitions for campaign parameters and the use of
utm_contentto distinguish placements. - Cloudflare Web Analytics documentation — scope of the analytics product and its page-performance measurement.
- Cloudflare Pages, Enable Web Analytics — how the injected beacon begins collecting pageview and visitor metrics.
Practical rule: name every funnel state before distribution begins. Attribution explains the route; a pageview proves attention; a received request proves action; qualification determines whether the action is relevant. Keep those claims separate.