This guide explains how to enable end-to-end conversion tracking for registrations driven by Premagic advocacy posters when your event website and registration form are hosted on different domains.

### Why Conversion Tracking Is More Complex

Standard campaign tracking (using UTMs) usually measures which campaign or platform drove traffic. Tools like Google Analytics track fields such as:

* Source

* Medium

* Campaign

This allows you to see which marketing channel drove the visit.

Premagic tracking works differently because it tracks **individual advocates**, not just campaigns. Instead of knowing that “LinkedIn drove the registration,” the goal is to know **exactly which person’s poster generated that registration**.

To do this, Premagic passes a unique tracking parameter called **pkey** through the entire user journey. This parameter must remain intact from the moment someone clicks a poster until they complete registration.

The journey looks like this:

* Poster click

* Event website landing page

* Registration form

* Premagic attribution

If the **pkey** parameter is lost anywhere in this journey, the registration cannot be attributed to the correct advocate.

### The Common Issue: Cross-Domain Tracking

Many events host their marketing website and registration forms on different domains. For example:

* Event website: **<event website domain>**

* Registration form: **<registration platform domain>**

Because these are separate domains, the tracking parameter can get lost during redirects between pages.

Here is how the current flow typically works:

* An attendee clicks the link on a LinkedIn advocacy poster

* They land on **<event website domain>/?pkey=<tracking_code>**

* Premagic reads the **pkey** value from the URL to attribute the visit

* The attendee clicks **Register Now**

* They are redirected to another domain

* During this redirect, the **pkey** parameter is dropped, which breaks attribution

There are usually **two separate issues** that cause this behavior.

### Issue 1: The pkey Parameter Is Not Passed to Register Links

Many event homepages include multiple **Register Now** buttons. These buttons typically link to the registration page but **do not include the pkey parameter** that was originally present in the landing page URL.

To fix this, the homepage needs a small script that:

* Reads the **pkey** value from the URL

* Automatically appends it to all **Register Now** links on the page

This ensures that when a visitor clicks a Register button, the link carries the tracking parameter forward to the next page.

For example, instead of sending visitors to:

```
<event website domain>/registration-redirect
```

The link should become:

```
<event website domain>/registration-redirect?pkey=<tracking_code>
```

Your development team can implement the following script before the closing tag or deploy it through **Google Tag Manager**.

```
<script>
(function () {
  var pkey = new URLSearchParams(window.location.search).get("pkey");
  if (!pkey) return;

  document.querySelectorAll('a[href*="registration-redirect"]').forEach(function (a) {
    var url = new URL(a.href, window.location.origin);
    url.searchParams.set("pkey", pkey);
    a.href = url.toString();
  });
})();
</script>
```

This script detects the **pkey** parameter on the landing page and ensures that every relevant registration link automatically includes it.

### Issue 2: Redirects Dropping the pkey Parameter

Even after the first fix is applied, another issue can still prevent proper tracking.

Many registration buttons use a short redirect URL such as:

```
<event website domain>/registration-redirect
```

This URL then redirects visitors to the final registration page, for example:

```
<registration platform domain>/?utm_source=...&utm_medium=...
```

The problem is that this redirect currently **ignores additional parameters like pkey**. As a result, even if the parameter is added to the first URL, it gets dropped before reaching the final registration form.

To resolve this, the redirect logic for the **registration redirect page** needs to be updated so it:

* Detects the **pkey** parameter from the incoming request

* Passes the parameter through to the final destination URL

For example, the final redirect should include the parameter, resulting in a destination like:

```
<registration platform domain>/?pkey=<tracking_code>&utm_source=...
```

### Final Outcome

Both fixes must be implemented for full end-to-end conversion tracking to work:

* **Fix 1:** Homepage script to pass **pkey** from the landing page to all Register links

* **Fix 2:** Update redirect logic to pass **pkey** from the redirect page to the final registration form

Once both fixes are in place, Premagic will be able to **accurately attribute registrations to the specific advocate who shared the poster**.