Hashing data passed in URLs using token processors
Zeno avatar
Written by Zeno
Updated over a week ago

FunnelFlux has a unique hidden feature called token processors...

What are these? They are small additions you can make to any token used in FunnelFlux, which will futher process them before spitting out a value.

The processors we have are:

  • md5

  • bin2hex

  • rot13

What is the point of these?

It allows you to encrypt/hash data you are putting into your URLs or passing to networks, offers, etc. for privacy reasons.


Example scenario:

I am passing publisher IDs to an affiliate network. However, I don't want to reveal the specific IDs, since this may reveal what publishers with a popular traffic source are doing very well for me.

So, I want to send a hashed value that lets the advertiser communicate about lead quality, but does not reveal specifics.

In my URL I initially have this:

example.com/?a=1234&s1={funnel-id}&s2={trackingfield-pubid}


I can change this to hash the value of my traffic source pubid's by adding a : separator and one of the processors available, e.g.

example.com/?a=1234&s1={funnel-id}&s2={trackingfield-pubid:md5}


These processors are chainable as well and will process a value in sequence, so if I want to do an md5 encryption followed by bin2hex, I would write:

example.com/?a=1234&s1={funnel-id}&s2={trackingfield-pubid:md5:bin2hex}


Finer details about use

These processors are all different in the way they operate. They only make sense in some situations, its up to you to use these where you see fit.


MD5

This is a well-known algorithm that produces a basic 128-bit hash of some input value. It's not easily reversible, so someone receiving these values can't just plug them into an md5 encode/decode box.

However, they are easy to produce, at least in a one-way direction.

These are best used for values where you want to be sure that it's very unlikely someone will be able to reverse them, but on your end you are fine with the fact it will be more cumbersome to compare them to the initial values.

For example, if you pass pub IDs to a network as md5 hashes and are asked to pause some of these, you will need to do some manual steps such as:

  • Export your pub ID list to Excel

  • Use some basic scripting in Excel to convert these to md5 hashes

  • Compare columns to find the original pub IDs

You'd need to do the above as FunnelFlux does not store md5 hash versions of your tracking data, and at this stage there is no table functionality that generates these for you in the user interface.

You can use online converters to generate md5 hashes for reference.

Example value: funnelflux
Example md5: a9e7bc2bad6dcb0101239a71fe4377d9 


BIN2HEX

This is a PHP function that converts a string into hexadecimal representation.

This is easily reversible, so its easier to take these values and convert them back to their previous form.

However, this does make the hashing less secure as if someone knows its a bin2hex conversion, it will be trivial to reverse them.

You can do conversions here.

Example value: funnelflux
Example bin2hex: 66756e6e656c666c7578 


ROT13

This is a simple substitution cipher that takes any alphabetical letter and replaces it with the 13th letter after the current one. Numbers are unchanged.

This will only be useful on content that has lots of letters in it, number-based content is not changed.

Like bin2hex, this is easily reversible if you know rot13 has been applied.

You can generate ROT13 values here.

Example value: funnelflux
Example rot13: shaarysyhk 

Example value: vibrant-shark-1923
Example rot13: ivoenag-funex-1923 

Did this answer your question?