Skip to main content
All CollectionsSystems and SupportIntegrations
Embedded Data for Web Feedback and Web Messenger Channels
Embedded Data for Web Feedback and Web Messenger Channels

How to embed data within a Loop channel URL

Written by Aniko Villeneuve
Updated over a week ago


Additional data can be attached in a Loop channel URL sent to your customers as URL query string parameters. Embedding data into Loop channel URL allows contextualizing the survey response or conversation with data generated outside of Loop, and pre-filling customer information form to reduce survey/conversation drop-off rate. When customers click the URL to respond to a survey or start a conversation, the embedded data is attached to the survey response or the conversation.
Examples of embedded data are:
- Customer Name
- Customer Contact Details
- Customer Loyalty Number
- Customer's Transaction Number
- etc.

Standard URL Parameters

Loop supports the following URL parameters for embedded data by default:

URL Parameter Key

Embedded Data Description

Supported in Web Messenger Channel

Supported in Web Feedback Channel


Customer's full name




Customer's first name




Customer's last name




Customer's email




Customer's phone number




Survey id or short code



For Example, if your web feedback channel for a location is, you can embed contact information data using the standard URL query parameters.

Note: all characters in the URL must be in URL-encoded format. (e.g. becomes

+16132325532 becomes %2B16132325532 ).

Custom URL Parameters

Should you require custom URL parameters, you must first create a Custom Field entry within the Loop Admin view -> Settings -> Custom Fields. Under the 'Short Code' field, enter the URL parameter key you would like to use when embedding data for this custom field.

For example, if you were to attach the customer's order ID to survey responses, you can create a custom field with the short code orderId. Then you can add orderId=12333 to the URL query string.

Embedding Encrypted URL Parameters (currently available for Web Messenger channels only)

Sometimes you want to encrypt the URL parameters for better data integrity and privacy, and security. Embedding encrypted data involves the following steps:

1) organize the data in a JSON object. For example:

const userObj = {"fname": "John", "lname": "Doe", "email": "", "sms": "+16132325532", "orderId": "12333"}

2) use the aes-256-cbc cryptographic algorithm to encrypt the JSON object. The cryptographic library is available in most runtime environments. For example, in nodejs, you can use the code snippet below.

const crypto = require('crypto');
const cipher = crypto.createCipheriv('aes-256-cbc', KEY, IV);
let encrypted = cipher.update(userObj, 'utf8', 'base64');
encrypted = encrypted +'base64');

The KEY and IV required for encryption will be sent to you upon request.

3) encode the encrypted string to a URL-safe 'base64' string

const bufferObj = Buffer.from(encrypted, 'utf8');
const encryptedUrlSafeString = bufferObj.toString('base64');

In this example, the resulting encryptedUrlSafeString should be


4) append the encryptedUrlSafeString with ?user=[encryptedUrlSafeString] query parameter to the end of the URL. For example:

Integration Testing

You may want to test the URL with embedded data before deploying your integration code. You may do so using the following test channels in Loop's staging environment.

Web Messenger:

Web Feedback:

Did this answer your question?