---
title: "Track and Identify Viewers with URL Parameters (Email, UTM, and Custom)"
slug: "/help/demos/personalize/variables/url-parameters"
last_updated: "2025-09-18T18:40:23Z"
zendesk_id: 43383112778259
zendesk_url: "https://help.walnut.io/hc/en-us/articles/43383112778259-Track-and-Identify-Viewers-with-URL-Parameters-Email-UTM-and-Custom"
locale: "en-us"
product: "demos"
topic: "personalize/variables"
displayed_sidebar: "demosSidebar"
---

## **Overview**

Walnut supports **URL parameters** that you can add to any demo, playlist, or deal room link.

These parameters let you:

-   **Identify individual viewers** automatically
-   **Track sources, referrers, and campaigns**
    
-   **Personalize the experience** and enrich your analytics
    

You can append [**email identifiers**](#01K1GWJWWT4HEYS44VK7NK7F9P), [**UTM tags**](#h_01KUTMPARAMS), or [**custom parameters**](#h_01KCUSTOMPARAMS) to either the **short** or **long** version of a Walnut link.

:::note[🫆 Note]

[**Email parameters**](#01K1GWJWWT4HEYS44VK7NK7F9P) are one of Walnut’s primary methods for identifying demo viewers. To learn more about viewer identification options, see the [**Guide to Walnut Integrations & Analytics**](https://help.walnut.io/hc/en-us/articles/31557610273299).

:::

---

## **Short and Long URLs in Walnut**

When you share a Walnut **demo, playlist, or deal room**, the platform automatically generates a **shortened URL**. This is the default format you’ll copy when sharing with viewers.

When opened in a browser, the short link seamlessly redirects to a **long-form URL** that includes session details and display parameters.

-   _**Example Short URL:**_

`https://wlnt.io/s/zhJOUC`

-   _**Example Expanded (Long-Form) URL:**_

`https://app.teamwalnut.com/player/?demoId=92fc28c0-ced2-402f-b4d2-0a3968d39370&screenId=9b62e7de-2f94-445d-a2fb-7877eb590d98&showGuide=true&showGuidesToolbar=true&showHotspots=true&source=unknown`

---

**😎** **Note:** If your company uses a **custom domain**, you’ll see your subdomain (e.g., demos.crunchy.ai) instead of app.teamwalnut.com.

---

## **Formatting URL Parameters**

Before diving into specific parameter types, it’s important to understand the **basic rules of formatting URL parameters**. These rules apply to **all parameters** — whether you’re using email identifiers, UTM tags, or custom fields.

**The basics:**

1.  **Start the first parameter with a `?`.**
    
    Example: `https://wlnt.io/s/zhJOUC**?email=shellvis.ca@crunchy.ai**`
2.  **Add additional parameters using `&`.**
    
    Example with multiple parameters: `https://wlnt.io/s/zhJOUC?email=jane@example.com**&utm_source=linkedin&utm_campaign=demo_launch**`
3.  **Only use one ? per link** — all other parameters must use **`&`.**
    

---

**🗒️ Notes:**

-   Every Walnut link can include **one or more parameters** to capture additional context.
    
-   Parameters are always added to the **end of the URL**.
    
-   They work with both the **shortened links** (e.g., `https://wlnt.io/s/zhJOUC`) and the **expanded long‑form URLs**.
    
-   There should only ever be **one** question mark **`?`** in a link. All other parameters should be joined with **`&`.**
    

| If you're adding... | Use this symbol |
| --- | --- |
| The **first** parameter | `?` |
| The **second and beyond** | `&` |

---

## **Identifying Viewers with Email Parameters**

:::note[🫆 Important to Note]

Email parameters are considered a **primary form of viewer identification**. If you are using email parameters, an **email gate** or **lead form** is _not required_ to capture viewer emails.

:::

When sharing Walnut assets through your marketing or sales engagement platforms, you can use **dynamic email parameters** to automatically pass the recipient’s email address into the demo link.

Walnut supports the **templating languages** of each platform, so you don’t need to manually insert the email. The platform automatically replaces the merge tag with the recipient’s actual email when the message is sent.

**To add email parameters to a Walnut URL:**

1.  **Copy your Walnut short link.**  
    Example: https://wlnt.io/s/zhJOUC
2.  **Add the email parameter for your platform.**  
    Append `?email=<merge_tag>` to the link.  
    (See the table below for the correct merge tag for each platform.)
3.  **Send the link through your platform.**  
    The merge tag is **automatically replaced with the recipient’s email** when the message is sent.

---

_**Email Parameter Example:**_

Suppose you are sending a Walnut demo link via HubSpot. Instead of manually typing each recipient’s email, use the HubSpot merge tag:

https://wlnt.io/s/zhJOUC?email=\{\{contact.email\}\}

When the email is sent, `\{\{contact.email\}\}` is **automatically replaced** **with the recipient’s real email address**.

---

### **Email Parameters****: Quick Reference**

| Platform | Email Parameter Example |
| --- | --- |
| HubSpot | \{\{walnut\_short\_link\}\}?email=\{\{contact.email\}\} |
| Intercom | \{\{walnut\_short\_link\}\}?email=\{\{email\}\} |
| Pardot | \{\{walnut\_short\_link\}\}?email=\{\{Recipient.Email\}\} |
| Salesloft | \{\{walnut\_short\_link\}\}?email=\{\{email\_address\}\} |
| Outreach | \{\{walnut\_short\_link\}\}?email=\{\{email\}\} |
| Marketo | \{\{walnut\_short\_link\}\}?email=\{\{lead.Email Address:default=noemail\}\} |
| Eloqua | \{\{walnut\_short\_link\}\}?email=\{\{EmailAddress\}\} |
| ActiveCampaign | \{\{walnut\_short\_link\}\}?email=%EMAIL% |
| Mailchimp | \{\{walnut\_short\_link\}\}?email=\*|EMAIL|\* |
| Customer.io | \{\{walnut\_short\_link\}\}?email=\{\{customer.email\}\} |
| Iterable | \{\{walnut\_short\_link\}\}?email=\{\{email\}\} |
| Groove | 
\{\{walnut\_short\_link\}\}?email=\{\{#if Recipient.Email\}\}\{\{Recipient.Email\}\}\{\{else\}\}noemail\{\{/if\}\}

 |
| Gainsight | 

\{\{walnut\_short\_link\}\}?email=\{\{#if Person.Email\}\}\{\{Person.Email\}\}\{\{else\}\}noemail\{\{/if\}\}

 |

---

## **UTM Parameters**

**Track where traffic is coming from and how viewers got to your demo.** By appending UTM parameters to your Walnut links, you can measure demo performance across campaigns, emails, and referral sources.

**To add UTM tag parameters to a Walnut URL:**

1.  **Copy your Walnut short link.**  
    Example: https://wlnt.io/s/zhJOUC
2.  **Add UTM parameters to track traffic.**  
    Append `?utm_source=<source>&utm_medium=<medium>&utm_campaign=<campaign>` Example: https://wlnt.io/s/zhJOUC?utm\_source=app&utm\_medium=email&utm\_campaign=launch
3.  **Send or share the link.**  
    When opened, the short link automatically expands into a long‑form version with the same UTM parameters included.

---

_**UTM Parameter Example:**_

_Short URL (default from Walnut):_

https://wlnt.io/s/zhJOUC?utm\_source=app&utm\_medium=email&utm\_campaign=launch

_Expanded long-form version (auto-generated when the short link opens):_

https://app.teamwalnut.com/player/?demoId=92fc28c0-ced2-402f-b4d2-0a3968d39370&utm\_source=app&utm\_medium=email&utm\_campaign=launch

:::note[Tip]

Combine UTM parameters with **Email Parameters** to track both the _source of traffic_ and the _specific viewer_ in your analytics.

:::

---

### **UTM Parameters****: Quick Reference**

| Parameter | Purpose | Example Value |
| --- | --- | --- |
| utm\_source | Identifies the traffic source (where the demo link was shared). | app, newsletter, linkedin, partner |
| utm\_medium | Specifies the marketing medium used. | email, cpc, social, referral |
| utm\_campaign | Tracks the campaign name or promotion. | launch, q1\_sales, webinar, summer\_promo |
| utm\_term | Identifies paid search keywords (mainly for ads). | demo software, sales enablement, walnut tool |
| utm\_content | Differentiates versions of the same link or creative. | button\_cta, textlink, banner\_a |

:::note[Tip]

Use consistent naming for your UTM parameters so reports are easier to filter and compare across campaigns.

:::

---

## **Custom Parameters**

**Add any additional fields relevant to your tracking or personalization logic.** Custom parameters let you pass extra context into your Walnut links — such as campaign names, personas, or account identifiers.

**To add custom parameters to a Walnut URL:**

1.  **Copy your Walnut short link.**  
    Example: https://wlnt.io/s/zhJOUC
2.  **Add one or more custom parameters to the end of the URL.**  
    Append `?custom_param=<value>&custom_param=<multi-word-value>&custom_param=<value>`
3.  **Send or share the link.**  
    When opened, the short link automatically expands into a long‑form version with the same custom parameters included.

---

_**Custom Parameter Example:**_

_Short URL:_

https://wlnt.io/s/zhJOUC?campaign=linkedin&persona=marketing-lead

_Expanded URL:_

https://app.teamwalnut.com/player/?demoId=92fc28c0-ced2-402f-b4d2-0a3968d39370&campaign=linkedin&persona=marketing-lead

---

### **Custom Query Parameters: Quick Reference**

Use the table below to standardize custom parameters across your team. Following these conventions will make your Walnut assets easier to track, analyze, and connect with downstream tools like your CRM or marketing automation platform.

| Parameter | Purpose | Example Value | Notes |
| --- | --- | --- | --- |
| campaign | Identify the specific campaign driving traffic. | summer\_2025, q3\_launch, webinar\_series, linkedin | Keep values lowercase and consistent with campaign naming. |
| persona | Tailor demos to different audience segments. | marketing\_lead, sales\_manager, cto | Use short, descriptive identifiers. |
| account | Track demo engagement by company or account. | acme\_inc, globex\_corp, openai | Map to CRM account IDs if possible. |
| region | Segment demos by geography or sales territory. | na, emea, apac | Use standardized region codes for reporting. |
| content\_variant | Differentiate between multiple versions of a demo. | v1, v2, control, experiment | Helpful for A/B testing and personalization. |

:::note[Tip]

Keep a shared list of approved custom parameters and values (e.g., in Notion or your CRM). This ensures Sales, Marketing, and RevOps teams all use the same conventions.

:::

---

## **Advanced Options: Passing Email Parameters Dynamically**

:::note[⚠️ Important to Note]

These advanced methods will require help from your **development** or **marketing operations teams**. Ensure your site or system can securely provide the user’s email before using these options.

:::

In addition to [email parameters](#01K1GWJWWT4HEYS44VK7NK7F9P), [UTM parameters](#h_01KUTMPARAMS), and [custom parameters](#h_01KCUSTOMPARAMS), there are advanced methods for dynamically passing viewer emails into Walnut URLs. **These methods require collaboration with your web development or marketing ops team.**

---

**Advanced Method 1: Pass an Email via Shared URL**

Use this approach when distributing Walnut demo or playlist links through internal systems or marketing tools that support dynamic macros.

1.  **Copy your Walnut demo link.**
2.  **Insert your platform’s email macro** in place of the email value.  
    Example: https://wlnt.io/s/abc123?email=\{\{user.email\}\}
3.  **Distribute the link** via your system — the macro will be replaced with each viewer’s email at send time.

---

**Advanced Method 2: Pass an Email via Website Embed**

Use this approach when embedding Walnut demos or playlists directly into a company website, landing page, or customer portal.

1.  **Retrieve the viewer’s email** from your hosting domain (e.g., via login, cookie, or SSO).
2.  **Append the email parameter to the embed code.**  
    Example:

    ```html
    <iframe src="https://app.teamwalnut.com/player/?demoId=92fc28c0-ced2-402f-b4d2-0a3968d39370&showGuide=true&showGuidesToolbar=true&showHotspots=true&source=app&email=user@company.com" allow="fullscreen" allowfullscreen="true" loading="eager" name="walnut_iframe" sandbox=" allow-scripts allow-same-origin allow-popups allow-forms allow-downloads allow-popups-to-escape-sandbox" title="Walnut embedded demo" width="100%" height="100%" frameborder="none"></iframe>
    ```
    
3.  **Deploy the embed** on your site — the email will be passed dynamically for each logged‑in user.

---

## **Summary: Best Practices for URL Parameters**

To get the most value from URL parameters in Walnut, follow these best practices:

-   **Always use clear, consistent parameter names** (e.g., `campaign`, `persona`, `region`).
-   **Limit parameters to what you need** — avoid overloading links with unnecessary fields.
-   **Keep values analytics‑friendly** (lowercase, no spaces, use underscores or hyphens).
-   **Test your links** in Walnut and connected tools before sharing with prospects or customers.
-   **Document your parameter conventions** so Marketing, Sales, and RevOps stay aligned.
-   **Respect privacy** — avoid sending sensitive PII (stick to email, campaign IDs, persona, etc.).

:::note[👑 Pro Tip]

Combine [**email parameters**](#01K1GWJWWT4HEYS44VK7NK7F9P) with [**UTM parameters**](#h_01KUTMPARAMS) and [**custom parameters**](#h_01KCUSTOMPARAMS) for a complete view of **_who_** viewed your demo, **_how_** they got there, and **_why_** they got there.

:::
