How do I personalize video links from my CRM or website?
Short answer
There are two ways. Add URL parameters, such as name, email, and custom_id, to the share link with your CRM’s merge fields, or create personalized links in Mindstamp from Share > Personalize for a recipient…, one at a time or from a CSV. Both fill in variables and report the view under that person. Variables are on Core and higher plans.
How to do it
Copy link to How to do it- Check your plan. Variables and personalized links need Core or higher. Creating links from your own system with the API, or sending results to HubSpot, needs Pro or higher.
- Add placeholders to the video, such as “Hi {{name}}, this is for {{company}}.”, and publish it.
- Copy the share link from Share.
- For a merge-field link, add parameters after the link: ?name=, &email=, &custom_id=, and any variable your video uses. Put your CRM’s merge field after each equals sign.
- For personalized links, click Share > Personalize for a recipient…. Click New link for one person, or Bulk upload CSV for many.
- For a CSV, map the columns to Name, Email, Phone, and Custom ID under Column mapping. Map other columns under Additional variables.
- Send one test link to yourself before you send the campaign.


Merge-field link or personalized link
Copy link to Merge-field link or personalized link- Merge-field link: you build it in your CRM or email tool. The values are visible in the link, and anyone can change them.
- Personalized link: Mindstamp stores the values, and the link shows only a link ID. You can set it to Inactive to stop it working, and Export CSV to send the links back to your CRM.
HubSpot email links
Copy link to HubSpot email linksIn a HubSpot marketing email, insert the share link and add HubSpot personalization tokens as the parameter values, for example ?name={{ contact.firstname }}&email={{ contact.email }}. Check HubSpot’s own documentation for its current token syntax.
To send views and answers back to HubSpot contacts, connect the HubSpot integration (Pro and higher).
Encode every value
Copy link to Encode every valueEncode each value so that spaces, accents, +, and & survive. The player reads + as a space, so an email with + in it must use %2B. If you build links in code, let the URL API encode them:
const url = new URL('https://share.mindstamp.com/w/abc123')
const contact = { name: 'Ana López', email: 'ana+demo@example.com', custom_id: 'CRM-1042', company: 'Acme' }
for (const [key, value] of Object.entries(contact)) {
if (value) url.searchParams.set(key, value)
}
console.log(url.toString())
// https://share.mindstamp.com/w/abc123?name=Ana+L%C3%B3pez&email=ana%2Bdemo%40example.com&custom_id=CRM-1042&company=AcmeTest the link
Copy link to Test the linkOpen your test link in a private browser window and watch the video. The expected result:
- The personalized text shows your name and company.
- Lead capture does not ask for details the link already filled in.
- After the view, Reporting > Viewers lists the view under your name and email, with your custom ID.
- The test counts as a real view, so use an address you can find and filter out later.
If a value does not appear
Copy link to If a value does not appearCheck the placeholder spelling and the encoding first. See Why aren’t my personalization variables being replaced?.
Keep private data out of links
Copy link to Keep private data out of linksLinks are forwarded and stored in email systems. Use custom_id instead of private details, and use personalized links when the values should not be visible.