HubSpot Ideas


Hyperlink using a URL personalisation token

I have created a custom property for a unique customer URL which I'd like to use in emails, directing customers back to their specific log in. While when inserting the personalisation token within an email works - we see the full URL. I'd like to be able to hyperlink some text  (e.g. log in 'here' ) or an image (to act as a CTA).


Anybody figured out how to make this work on templates?    I've gotten it to work on automated emails,  but not on the templates you can use when writing an email.


HubSpot,  please fix this glaring issue with your system.


@EKatowitz my solution above uses an image to resolve the issue. I'm using those in email templates for one to one communications and sequences. 

the answer below mine is for CTA buttons and I really want to know if that works in templates as well. 


@JakeKnight83 I had tried your method, but it didn't work for me,  the link was still parsed.    However, I noticed in yours that you are only doing it with a parameter,  not the full URL.    I tried going that way and it worked!     It also worked for links as well.    Thanks for your help.


@EKatowitz Just to be sure I understand, you're saying that when adding a link to an image it was still trying to parse it? I am using full URLs as link properties and they are working but only on images. Using a URL with a param that's defined as a contact property works seemlessly with or without an image. 


Glad I could help. 



I'm new to all of this and trying to understand what other people have done in reply to @sqirjazi idea.


I need to pull a dedicated web address from a property I have created called "Link to Again" within contact properties - contact information.


I have tried {{ to again}} and https://{{ to again}} but no luck sadly.


My link looks like this:



and not with a "button text".


Would appreciate any help available!


Thank you,



@CCooper62 Try removing the spaces in your brackets. It should look like {{contact.linktoagain}}


(I think)


@rayfirnbach sadly it didn't work, unless I'm supposed to put the https:// infront?

when I do {{contact.linktoagain}} hubspot makes it http://%7B%7Bcontact.linktoagain%7D%7D/ after?


Thank you!


@CCooper62, you'll need to figure out what that data field's "internal name" is to figure that out. To do so, head to the settings page (cog) and locate the properties subpage. Find the data field that you're looking for and click on it. 


Once you click on the "Link to Again" data field a slide up page will appear and you'll need to click the </> text in the upper-right hand corner of the slide-up page to see the "internal name".


Use this field in your brackets like this "{{contact.PUT INTERNAL NAME HERE WITH NO SPACES}}".


I hope this helps and take a look at my solution from 'Feb 27, 2023 10:38 AM' if you'd like a more thorough solution.




Sadly this doesn’t work either, I’d already tried it.

The internal name is link_to_again, therefore I have tried:

Both give me http://%7B%7Bcontacts.link_to_again%7D%7D/

I’ve read your post, and sadly, it’s a lot higher level than my brain allows (I don’t understand coding at all).


Thank you for your help though!


I wanted to provide some additional insights on this topic. I stumbled upon this thread, and while the solution brought me close to what I needed, further research eventually led me to the exact solution I was looking for.


Here's my scenario: I send automated internal marketing emails (via workflow) to my sales team when a web lead submits a form and selects a state within their territory. My sales team had a specific request: they wanted the email notification to include a "Go to Contact Record" button, similar to the Hubspot notifications for contact owner updates. The link formats I initially tried from this thread didn't quite work, but I finally found a format that worked perfectly and allowed me to integrate it into a button as a URL:


It's essential to replace "######" with your Hubspot account ID (You can also find this if you open any contact record and look at the number listed between contacts/######"/record). 


Additionally, make sure to use the precise spacing in the link example above and the property's internal value. I initially formatted it as {{contact.hs_object_id}}, but the absence of spaces on either side of the token value caused it not to function properly.



Hi all.


Apparently since a month or so, the solution with the image + token is no longer supported. When I update my template, or try to add a new link, the token is now 'linkified' on the image as well. Anyone else have this issue? Or even better, a solution?


@AVila, try this as a solution. I just put this together for a survey email we're sending today and it's working flawlessly. 


It uses a data property to pre-populate personalized links.


I placed the below code directly into a button and an image and it's working as intended:

{{ personalization_token('contact.n2023_survey_purls', 'back-up generic link just in case') }}&utm_medium=email&utm_source=hubspot&utm_campaign=your-campaign-here&utm_content=em13_thank-you


I've bolded the sections that you'd need to replace and the blue text is a great optional generic solution in case a contact doesn't have a PURL link in their data property.

IF you're using a company field and not a contact field, replace the red section accordingly.

Green section is utm codes for conversion tracking and is also optional; replace underlined sections with your details if you want to emulate the utm codes.


Cannot up vote this enough. 


I want to send a 'left in cart' email to customers. We have created a deal propery personlisation token which is a URL - this is already part of our process, and this URL will take the user back to their specific basket. I have created a workflow with emails that contain this personlisation taken, but when I test the email, most of the time, nothing is clickable. (I know it's not possible to add to CTAs).


I have tried it as a personalisation token with the text block

I have tried updating the html directly

I have tried it on a button

I have tried it on a PNG that looks like a button. 

I have tried all the following combinations of codes


On one iteration (which I've sadly gone over and can't remember what I did to make it work... I got it to point to the correct page, but HubSpot was adding a point before our company name in the URL which is messing everything up. 



Does anyone know how to fix this. I'm out of threads full of ideas to try!


Perhaps a workflow that will change the URL within the personlisation token to something that Hubspot can deal with?


I think I found the solution :


{{personalization_token('pXXXXXXXX_OBJECT_NAME.PROPERTY_VALUE',' ')}}


XXXXXXXX is your account number


It works for us! 😀


Question on this... i already have a support ticket open but wanted to try here as well.


My use case is crafting a custom URL BASED ON a couple custom contact properties that are filled in via a lead form.


The custom property is a select box, with a label and the "internal" value.  The label is obviously what the end user reads and is a few words long.  The internal value is short and appropriate for data or use in a URL.


But.. when i use the personalization_token function, it inserts the "label" into the url, NOT the short value.  Which of course breaks things.  Is there a way to inject the internal value?  Or do i need to redo the custom property in some other way?


Open to suggestions...