Registration Path

Web System

The production path from a campaign visit to a signup. The UTM stays intact through the redirect, and the dataLayer records the view and the completion. Shown here with a sample record.

Role
Front-end + CRO
Employer
Simpler Trading
Stack
JavaScript, GTM, redirects
Focus
Registration path
Status
Production behavior, sample record
Registration Path
Case study

Role: Front-end and CRO

Context: Simpler Trading — membership and webinar registration. The behavior shipped. The page on this site uses a sample record.

Before

A campaign visit reached the registration page, then a redirect. The redirect dropped utm_source, utm_medium, and utm_campaign. The signup was recorded as direct. Paid and email traffic could not be told apart after the hop.

What changed

One helper reads those values on arrival, writes them onto the next URL, and puts the same values on the page view, the form start, the completed signup, and the SMS choice.

What that made possible

A new webinar reused the path. Marketing changed the offer and the destination. The handoff and the events stayed. Someone with the dashboard could compute signup rate by campaign. I owned the page, the test implementation, and the events. The conversion rate belonged to the company, and it is not mine to publish.

What the dashboard would show
  • Signup completion by campaign.
  • Drop-off between the email step and the SMS choice.
  • The share of signups whose source survived the redirect, against signups recorded as direct.
What I owned
  • The layout of the registration pages on that path.
  • The helper, the redirect, and the dataLayer events above.
  • The release, on the same weekly cadence as the rest of the frontend.
On this page

The email field is the form. After a valid email, the next step asks for an SMS 30 minutes before the session. Any phone number is accepted. Form data is kept for demonstration purposes only and will not be sold or shared. The visit line keeps source, medium, and campaign in view.

Design system pieces

The live module uses the system this site ships from. The actions are the shared button. Type, accent, and the card surface come from the tokens. The preview uses a sample session.

How someone else reuses it

A new webinar or membership offer uses the same path. Marketing changes the offer and the destination. The redirect, the parameter handoff, and the events stay put. The calendar invite, the timed handoff, and the modules on the page come from one campaign record, written up as the campaign launch kit.

In React and Next.js

The path is a few routes that share one campaign helper. The helper reads the UTM on arrival, writes it onto the next URL when the page redirects, and puts the same values on each dataLayer push. The form is a component. The events fire from the page view, the first field interaction, and the success state. A new offer is a new route and a new destination, on that same helper.

Looking for this kind of work on your team?

I build production interfaces in React and Next.js, and the events those pages fire. I can own the frontend. Let's talk.
Contact© 2026 David N Allen. All rights reserved.
Share this page
Developed with React Developed with Next.js