Solved

Appending email address in the URL,GDPR & Data Security

  • 30 January 2024
  • 6 replies
  • 100 views

Userlevel 1
Badge +3

Hi there :)

 

I hope someone can help!

 

I need to send information about the customer email in the URL - This has initially been asked and answered in this earlier post here.

 

However, this provides issues with GDPR and Data Security.
 

Currently the customer information is directly accessible in the URL when using this method:

  • email={{ email }}
  • email=Name.LastName%40email.com


Therefore I need to figure out, if I can hash the information in the URL.
 

Fingers crossed that someone has the answer to this!

 

Thanks,

Mathilde

icon

Best answer by saulblum 30 January 2024, 16:13

View original

6 replies

Userlevel 4
Badge +7

There’s a template filter md5_hash you can use:

https://developers.klaviyo.com/en/docs/glossary_of_variable_filters

md5_hash Converts a value to an MD5 hash. {{ your_variable|md5_hash }}

What’s the use case for including a hash of the email in the URL? If you have click tracking enabled, Klaviyo will append a _kx param to links, which includes a profile identifier, and which will cookie the browser with the profile.

https://help.klaviyo.com/hc/en-us/articles/115005076767#h_01HADAYAACCVC5TX5932PQ2AZA

Userlevel 1
Badge +3

Hi :)

 

Thank you for your quick answer!

Our use cases are right now besed around removing barriers for the customer, when we ask them to fill out an email, e.g. in product reviews.

Userlevel 1
Badge +3

Hi,

I tested this and it worked great!

 

Would you be able to guide me on how to addapt the site script on site, that extracts the information for the form, so that it is then converted back to the correct email? :)

Userlevel 1
Badge +3

I just noticed this one in the glossery you send me: base64_encode


Maybe I should in fact use that instead? It seems specifically catored for sending email information in the URL.

Userlevel 4
Badge +7

The _kx param sets a __kla_id cookie is a base64 encoded JSON block that includes an $exchange_id property. You can use the Get Profiles call server-side to filter on this _kx value and get back the profile and its plain-text email address.

You could use base64_encode but it’s effectively the same as sending the email in plain-text, it’s not encrypting anything.

Userlevel 1
Badge +3

I see! :)

Yes, I understand that base64_encode is not encrypted.
Thank you for your help! :D

Reply