> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.drimify.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Passing User Information via URL Parameters

Drimify experiences now support pre-filling user information directly through the URL using query string parameters. This allows for a more personalised experience and streamlines data collection.

### ✅ Supported URL Parameters

You can pass the following optional variables in the URL:

| Parameter | Description | Example Value |
| ---- |
| `fname` | First name | John or base64 encoded (`Sm9obg==`) |
| `lname` | Last name | Last name or base64 encoded (`RG9l`) |
| `email` | Email address | Plain or base64 encoded (`am9obi5kb2VAZXhhbXBsZS5jb20=`) |
| `phone` | Phone Number | Plain or base64 encoded (`KzMzMTAxMDEwMTAx`) |

### 🔗 Example URLs

**Base64 encoded values:**
```
https://apps.drimify.com/your-experience-id/?session_uid=ABC123&fname=Sm9obg==&lname=RG9l&email=am9obi5kb2VAZXhhbXBsZS5jb20=&phone=KzMzMTAxMDEwMTAx
```

**Plain text values:**
```
https://apps.drimify.com/your-experience-id/?session_uid=ABC123&fname=John&lname=Doe&email=john.doe@example.com&phone=%2033101010101
```

### 🔒 Encoding & Decoding Logic

* You may pass the values either as **plain text** or as **Base64-encoded strings**.
* Drimify will **automatically detect Base64-encoded values** and decode them.
* Whether Base64-encoded or plain, **all values are also raw URL decoded** on our side to ensure special characters like spaces (`%20`), `@`, or `=` are properly interpreted.

### ⚠️ Important for Integrators

Please ensure:

* If you send **plain text**, it must be **URL-encoded** before being added to the URL.
* If you send **Base64**, you must:

1. First URL-encode the original value (e.g., John Doe → John%20Doe)
2. Then Base64 encode that result (John%20Doe → Sm9obiUyMERvZQ==)
3. Pass it in the query string
4. When passing values via URL parameters, base64-encoded strings **must include proper padding (`=`)**. Without correct padding, the system may not decode the value correctly, and it will be treated as plain text.

**Why?**

This ensures special characters are preserved correctly and decoded properly in all cases.

### ✉️ Email Validation

For security and data integrity:

* The `email` parameter will only be used if it passes standard email format validation.
* If the value does not match a valid format, it will be skipped and not stored.

### 📞  Phone Number Validation

For security and data integrity:

* The phone number must be provided in the correct international format, for example: **+33101010101**.
* The value will only be used if it matches a valid format according to its country code.
* If the number does not meet the required structure, it will be skipped and not stored.

### 💡 Use Cases

* Just like we support `session_uid` to identify a user session, we now support `fname`, `lname`, and `email` to **pre-fill user data and avoid displaying a data collection form**.
* This is ideal when launching experiences from email campaigns or CRM tools, where the participant's information is already known.
* Track individual user sessions with less friction
* Provide a seamless, personalised user experience

### ❓Need Help?

If you’re unsure how to encode values correctly or want guidance on integrating with your platform, feel free to [contact our support team] or refer to our [developer integration guide].