Skip to main content

How to Split Test Registration Pages

Learn how to split test your AEvent registration pages using custom fields. Two methods: hard-coded hidden values for separate pages, or query string capture for tracking traffic sources from one page.

AEvent does not have a built-in split testing feature, but its custom registration field system makes it straightforward to track which page, funnel, or traffic source each registrant came from. This gives you the data you need to compare performance across variations.

Two methods are available:

  • Method A: Hard-Coded Hidden Value. Best when you have two different landing pages or funnels. You embed a different value on each page.

  • Method B: Query String Capture. Best when you use one page but send traffic from different sources. The value is pulled from the URL automatically.

Both methods tag each registrant with an origin value that flows into your CRM and into AEvent's audience system, so you can filter, segment, and compare results.

AEvent registration settings tab showing custom field configuration


Method A: Hard-Coded Hidden Value

Use this when you have two (or more) separate registration pages and want to tag each one differently.

Step 1: Create a Custom Registration Field

  1. Open the campaign you want to split test.

  2. Go to Registration settings.

  3. Click Add Registration Field (top right).

  4. Name the field something descriptive. Examples: page_origin, split_test, lead_source. This name is for your internal tracking only; registrants will not see it.

  5. Select Custom Forms as the field type.

  6. Click Add.

Add Registration Field dialog with Custom Forms type selected

Step 2: Copy and Customize the Form Code

AEvent campaign Code tab showing registration form code area

  1. Go to the Code tab in your campaign.

  2. Copy the Registration Form code.

  3. In the HTML, locate the hidden input field near the bottom. It will look something like this:

<input type="hidden" name="customtag" value="">

  1. For Page A, set the value to identify that page:

<input type="hidden" name="customtag" value="page-a">

  1. For Page B, paste the same form code but change the value:

<input type="hidden" name="customtag" value="page-b">

  1. Embed each version on its respective landing page using an HTML element or code block in your page builder.

Remember: Both pages must also have the Confirmation Page Header Script installed. See Confirmation Page Header for setup instructions.

Step 3: Test Your Setup

  1. Register through Page A using a test email.

  2. Register through Page B using a different test email.

  3. Check your CRM or AEvent lead records to confirm each registration carries the correct origin value (page-a or page-b).


Method B: Query String Capture

Use this when you have one registration page but want to track different traffic sources, ad campaigns, or link variations.

Step 1: Create a Custom Registration Field

  1. Open the campaign you want to track.

  2. Go to Registration settings.

  3. Click Add Registration Field (top right).

  4. Name the field to match the URL parameter you want to capture. For example: origin, utm_source, or source.

  5. Select Query as the field type.

  6. Click Add.

Add Registration Field dialog with Query type selected

That's it for setup. The AEvent header script on your registration page automatically reads the matching parameter from the URL and includes it with the registration. No HTML editing is needed.

Step 2: Send Traffic with Different URL Parameters

Append the parameter to your registration page URL for each traffic source. Examples:

  • Facebook ads: yourpage.com/register?origin=facebook

  • Email campaign: yourpage.com/register?origin=email-promo

  • Google ads: yourpage.com/register?origin=google

  • Partner referral: yourpage.com/register?origin=partner-john

Each registrant will be tagged with whatever value appears after origin= in the URL they used.

Step 3: Test Your Setup

  1. Visit your registration page with a test parameter: yourpage.com/register?origin=test123

  2. Complete a test registration.

  3. Check your CRM or AEvent lead records to confirm the origin value test123 was captured.

For more details on query string capture, see How to Capture Custom Fields & Values from the Query String.


Mapping the Field to Your CRM

For the origin value to appear in your CRM, you need to map the custom field in your integration settings.

  1. Go to Integrations in your campaign settings.

  2. Click the Settings gear icon on your CRM/ESP integration.

  3. Under Custom Fields, click Create Single Field and select your origin field.

  4. AEvent will create the corresponding field in your CRM and pass the value on every new registration.

You can then use this field in your CRM for:

  • Filtering contacts by origin to compare conversion rates

  • Building automations (e.g., "if origin equals facebook, add to Facebook Leads workflow")

  • Reporting on which traffic source produces the highest attendance and engagement


Analyzing Your Results in AEvent

Beyond your CRM, you can use AEvent's Audience feature to segment registrants by their origin value and trigger different actions for each group.

Create an Audience Based on Origin

AEvent campaign Audience tab showing audience segmentation area

  1. In your campaign, go to the Audience tab.

  2. Click Create Audience.

  3. Set the condition: Custom Field > [your field name] > matches > page-a (or whatever value you used).

  4. Save the audience.

  5. Repeat for each variation (page-b, facebook, etc.).

Use Audiences for Different Actions

Once you have audiences for each variation, you can attach different Timeline Actions to each one. For example:

  • Send a different follow-up email to registrants from Page A vs Page B

  • Apply different CRM tags based on traffic source

  • Track attendance and engagement rates per audience in your analytics

For more on creating audiences, see Introduction to Creating a Custom Audience.


Advanced: Split Testing Two Campaigns From One Registration Page

Use this when you want to test entirely different webinar presentations, timelines, email sequences, or replays — not just the registration page. You run two separate AEvent campaigns and split your traffic between them, all from a single registration page.

The key idea: each AEvent campaign has its own WTL (Webinar Timeline) value. Your registration page's header script is tied to one campaign by default, but adding ?wtl= to the page URL reroutes that registration into a different campaign — same page, different campaign behind it.

Step 1: Build both campaigns

Set up Campaign A and Campaign B as two separate campaigns, each with whatever you want to test (different timeline, emails, presentation, or replay). Make sure both campaigns have an upcoming event scheduled — the override only loads if the target campaign has a next event.

Step 2: Get each campaign's WTL value

Open Campaign A in the builder and look at your browser's address bar — the WTL is the value shown in the URL. Copy it into a notepad, then repeat for Campaign B. For a full walkthrough, see Looking for your WTL Value?

Step 3: Set up your one registration page

Install Campaign A's registration header script on your page as normal. With no parameter added, the page registers people into Campaign A.

Step 4: Create your two split-test links

Take that same page URL and make two versions, one per campaign:

Arm A: https://yourpage.com/register?wtl=CAMPAIGN_A_WTL

Arm B: https://yourpage.com/register?wtl=CAMPAIGN_B_WTL

Anyone who lands via the Arm B link registers into Campaign B instead — the dynamic dates and times on the page automatically switch to Campaign B's next event too. Campaign A keeps working normally.

Step 5: Split your traffic

AEvent does not rotate traffic for you — you point half your traffic at each link. Use your ad platform's built-in URL rotation, a link-rotator tool, or your funnel builder's split-URL feature. To keep a single public link, place a rotator in front of the page that sends each visitor to one of the two ?wtl= URLs.

Step 6: Test before going live

Visit each link, register a test email, and confirm the registrant landed in the correct campaign (check each campaign's leads). This is the single most important thing to verify before sending live traffic.

Optional — tag each arm: add an origin custom field (Method A or Method B above), for example split_test = a / b, so every registrant carries which arm they came from into your CRM and audiences for easy side-by-side comparison.

Good to know

Can I do this without adding ?wtl= to my page URL? No — the parameter must be present in the URL when the page loads, because the header script reads it the moment the page renders. There is no AEvent-native traffic splitter. You do not have to hand people two different links, though: keep one public link and place a rotator in front of it. Important — the rotator must redirect to the ?wtl= URL before the page loads. A script that appends ?wtl= after the page has already rendered is too late, and the registration defaults to Campaign A.

Does the split happen on landing, or when someone registers? On landing. When the page loads with ?wtl=B, AEvent renders Campaign B's page and any registration there goes to Campaign B. There is no submit-time random assignment — so this is a 50/50 split of visitors, not of registrants. For measuring which campaign performs better, an even visitor split is exactly what you want: you compare conversion and downstream results between the two arms. Because both arms share the same registration page, registrations tend to come out roughly even anyway. One thing to watch: if the two campaigns' next events are timed very differently, the countdown shown can nudge conversion — keep their event timing comparable for the cleanest test.

Does this affect the join URLs? No. Each registrant's join URL is created per registration and bound to the event they actually registered into. Someone who registers via ?wtl=B becomes a normal Campaign B registrant with Campaign B's join link, emails, and replay — and the same for Campaign A. The WTL only decides which campaign at the moment of registration; after that, each person flows entirely through that campaign's own pipeline, and the two never cross over.


Tips and Best Practices

  • Name fields clearly. Use descriptive, lowercase names with underscores: page_origin, lead_source, utm_source. Avoid spaces or special characters.

  • Keep values consistent. Decide on a naming convention upfront (e.g., facebook not FB or Facebook Ads). Inconsistent values make filtering difficult.

  • Maximum 10 custom fields per campaign. Plan your fields carefully. You can track origin, UTM source, UTM medium, UTM campaign, and more, but they share the same 10-field limit.

  • Use Dynamic Confirmation Page URLs to route registrants from different sources to different confirmation pages. See Dynamic Confirmation Page URL.

  • Test before launching. Always register through each variation and verify the origin value appears correctly in your CRM and AEvent lead records before sending live traffic.


Frequently Asked Questions

What is the difference between the "Custom Forms" and "Query" field types?

Custom Forms creates a hidden field with a value you hard-code into the HTML. Use this when you have separate pages and want to bake the value directly into the form code. Query creates a field that automatically reads its value from the URL parameter. Use this when you want the value to come from the link the registrant clicked.

Field type dropdown showing Custom Forms and Query options


Can I split test the webinar presentation itself, not just the registration page?

Yes. Use the campaign-level split test approach with the WTL parameter (see the Advanced section above). Create two campaigns with different timelines or presentations, and split traffic between them using different WTL values in the URL.


Can I send each split-test arm to a different confirmation (thank-you) page?

By default, every registration on a campaign lands on that campaign's single Confirmation Page, no matter which arm the registrant came from. There are two ways to send arms to different thank-you pages:

  • Same campaign, route by origin. Turn on a Dynamic Confirmation Page URL keyed to your origin custom field (Method A or Method B above), so page-a registrants land on one thank-you page and page-b on another. See Dynamic Confirmation Page URL. You can also pass the origin value onto the confirmation URL itself; see Passing Variables onto Confirmation Page URL.

  • Two campaigns (WTL split). Because each campaign has its own Confirmation Page, Arm A and Arm B automatically get their own thank-you page with no extra setup. Set each campaign's Confirmation Page in its own Page URLs settings.


How many custom fields can I have per campaign?

AEvent supports up to 10 custom registration fields per campaign. This limit is shared across all custom fields (origin tracking, UTM parameters, and any other custom data you capture).


Does this work with evergreen and recurring campaigns?

Yes. Custom registration fields work the same way for live, evergreen, and recurring campaigns. Each registrant is tagged with their origin value regardless of which session they register for.


Can I automate actions based on which page someone registered from?

Yes, in two ways. In AEvent, create Audiences based on the custom field value and attach different Timeline Actions to each audience. In your CRM, build automations that trigger based on the custom field value (e.g., "if page_origin equals facebook, add to Facebook Leads workflow").


What if the registrant's URL does not include the query parameter?

If you use Method B (Query type) and the registrant visits the page without the parameter in the URL, the field will be empty. The registration still completes normally. You can filter for empty values in your CRM to identify registrants who came from an untagged source.


Can I use this with UTM parameters I am already tracking?

Yes. Create separate Query-type fields for each UTM parameter you want to capture (utm_source, utm_medium, utm_campaign). Each one counts toward the 10-field limit. For more details, see How to Capture Custom Fields & Values from the Query String.

Did this answer your question?