Home > Tracking Campaigns > Tutorials, Tips and Guides

Cloak Referer without DMR -> * Instant ROI Boost * (30)


11-25-2015 05:10 PM #1 mykeyfocus (Member)
Cloak Referer without DMR -> * Instant ROI Boost *

Plenty of people use DMR (Double Meta Refresh) in a Voluum campaign to hide the Landing Page's referrer from your offer/advertiser...

So what's the problem... ?
It's SLOW... it adds a redirect and your ROI takes a hit as the offerpage takes longer to load.

Is there a way to cloak the referer without a DMR?

Yes

Take a look at the W3.org specification here
(or don't because it's boring, just read below)

If you add rel-noreferrer to your outgoing Voluum link it will hide the referrer from the advertisers page without doing any funky redirects.
(remember to change Redirect mode in Voluum to 302)

I don't believe you... prove it...

Ok copy the code below into demo.html

HTML Code:
<!DOCTYPE html>
<html>
<head>
    <title>rel=noreferrer Demo</title>
</head>
<body>
	
	<h1><a href='offerpage.html'>Standard link</a></h1>
	<br>
	<h1><a href='offerpage.html' rel='noreferrer'>rel=noreferrer link</a></h1>
	
</body>
Now copy the code below into offerpage.html
HTML Code:
<!DOCTYPE html>
<html>
<head>
    <title>rel=noreferrer Demo: Display Referer</title>
</head>
<body>
	<h1>
		Your referrer is *drum roll please*...<br><br>
		<script>document.write(document.referrer)</script><br>
		^ is it blank :) ?<br>
		<h3><a href='offerpage.html'>click here to test it actually shows referrer by loading offerpage.html from offerpage.html</a></h3>
	</h1>
</body>
Now... upload to your server (important, wont work locally)

Open demo.html and click both links, the referrer will be displayed for the first but not the second.

Tested on Desktop: Chrome/Firefox/IE and Mobile: Chrome/Firefox - Works 100% on latest versions - but do your own checks to be sure (I use this on 100% of my campaigns)

Taa-daa


11-25-2015 05:21 PM #2 atom64 ()

this might not work in older versions of browsers and should be double checked but thx for the idea
i also recommend the https blanker


11-25-2015 05:35 PM #3 mykeyfocus (Member)

Quote Originally Posted by atom64 View Post
this might not work in older versions of browsers and should be double checked but thx for the idea
i also recommend the https blanker
You're absolutely right you should double check everything
It's a feature of the HTML5 specification which has been around a while though...
It's a shame caniuse doesn't have a rel=noreferrer entry


11-25-2015 06:13 PM #4 Mr Baffoe (Veteran Member)

Yep not for older browsers, but helpful for newer ones.

Built the meta tag version (https://w3c.github.io/webappsec-refe...-delivery-meta) of this into Prosper202 Pro as an addition to the system we had before a few months ago.

It's in the personal settings section if you want to turn it on.


11-26-2015 09:26 AM #5 vortex (Senior Moderator)

Wow buddy thanks for sharing this! Will help out a lot of people for sure.


Amy


11-26-2015 02:53 PM #6 pronewbie (Member)

This method is working. Tested it now with Voluum.

Checked it with an old Safari browser and is not working. However with new browsers this method works 100%


Thank you again Mykeyfocus


11-26-2015 05:39 PM #7 bobliu (Member)

Could add a JS check to replace link to DMR for older browsers so this method would always work


11-27-2015 03:38 AM #8 xckt56 (AMC Alumnus)

Quote Originally Posted by bobliu View Post
Could add a JS check to replace link to DMR for older browsers so this method would always work
Awesome tip, mykeyfocus. Yup use it in combo with this script for older browsers you're good to go: https://github.com/knu/noreferrer


11-27-2015 06:11 AM #9 kelenn (Member)

This is awesome. Is there any way to code it into the back button script? It doesn't seem to work for me


11-27-2015 07:57 AM #10 momopotato (Member)

Quote Originally Posted by adsurfer View Post
Awesome tip, mykeyfocus. Yup use it in combo with this script for older browsers you're good to go: https://github.com/knu/noreferrer
so the right steps to use it is to upload noreferrer.js and insert <script type='text/javascript' src='noreferrer.js'></script> into the <body> portion and thats it?


11-27-2015 11:23 AM #11 caurmen (Administrator)

Great tip! Can't believe I didn't know about that.

A smart way to use this would be with a browser-based redirect in your tracker. Detect modern browsers and send them to the rel=noreferrer page for much quicker load times and hence higher ROIs.

Only minor possible concern: if someone was to spoof their useragent, they could persuade your funnel to send them through the rel=noreferrer route with a noncompliant browser. However, if they're doing that they're already going through your funnel anyway and hence can see everything as they go...


11-28-2015 01:53 PM #12 bobliu (Member)

Quote Originally Posted by caurmen View Post
Only minor possible concern: if someone was to spoof their useragent, they could persuade your funnel to send them through the rel=noreferrer route with a noncompliant browser. However, if they're doing that they're already going through your funnel anyway and hence can see everything as they go...
Tech minds at work Could do the agent checking on the PHP side to leave less breadcrumbs (so they wouldn't know to spoof the UA)


11-28-2015 04:49 PM #13 mykeyfocus (Member)

Give me a few days, I'll code some funky JavaScript to test the rel noreferrer and if its not supported then use alternative link will keep me busy at the airport in a few days


11-28-2015 11:44 PM #14 yevgeniyt (Member)

Probably only good for new mobile phones, especially Iphones. HTML5 is not yet supported on many browsers on desktop... You'll probably be missing out on alot of old mobile user agents and tablets.

But you can always just setup that one as a "primary" and then a good ol' javascript click and/or meta refresh as fallbacks...


11-29-2015 03:39 AM #15 shakedown (Member)

Thanks for taking the time to write this out for the community. I found out about this about a year ago when I was doing mobile. It blanked out about 80% of the traffic I tested it on. At the time, I had the idea of making a redirect like this:

Lander w/ rel=no referrer ---> PHP Script that checks for referrer---> Either 1)Offer or 2) HTTPS before Offer depending on if it had a referrer or not.

I think a script like this would have minimal impact on speed but if someone knows a better way, I'd be interested in hearing that too.


11-29-2015 04:16 AM #16 acjhonrosya (Member)

Guys,

i was optimizing an sweep offer named "win iphone 6 US" and my AM told me that use DMR to hide your lander because if publisher will caught your LP then they'll ban you and you can't run their offer. so i used Voluum double meta refresh option and after few days they caught my LP in middile i was optimizting the offer (spended $400 and still campaign roi in negative). Now my AM is telling me that your lander is caught and offer is paused for you.
Also my AM is telling me that nowdays almost all offer need to cloak or hide LP otherwise if publisher caught your LP and they'll not pay.

Here the problem is for newbie like me don't know much about cloaking but still using Voluum double meta refresh and get caught then what's the best option? because suppose that i spend 1 or 2k dollar to optimize a campaign and my LP buseted and i loose all money because they'll not pay me now.

Is it happening to all of you guys? if yes then how you cloak your LP successfully? because if anyone (offer publisher or AM) want to find your LP then dosen't matter how much you hide they'll know and will not pay you if they don't want to pay and give you a shitty excuse your LP get caught

I don't see any solution of this because as my AM said me you need to cloak almost any offer you run it means i can't run any offer? even i can't do affiliate anymore and should be quit. i don't have unlimited budget to play in blind and in the end loose all money.

help me friends what should i do now?


11-30-2015 10:26 AM #17 caurmen (Administrator)

@shakedown - that's a genius solution. Like it.

You'll still have an extra loading step so it won't be quite as fast as going straight to the offer, but it should still be pretty fast.

@acjhonrosya - If you were using DMR and you'd set it up correctly, the publisher found your LP through other means. They can still use spy tools, for example!

To be honest, that entire situation sounds pretty fishy to me, and your AM's claim that you always need to hide your angles from publishers is DEFINITELY not true. Can you start a new thread on this? That'll help everyone give you more detailed information without derailing this current thread.


11-30-2015 10:42 AM #18 acjhonrosya (Member)

yes i'm sorry for interrupting here.

Already opened saperate theread here http://stmforum.com/forum/showthread...om-Aff-Network

Thanks.


12-01-2015 02:49 PM #19 omrikos (Member)

Quote Originally Posted by mykeyfocus View Post
Give me a few days, I'll code some funky JavaScript to test the rel noreferrer and if its not supported then use alternative link will keep me busy at the airport in a few days
Any luck there?


12-01-2015 05:26 PM #20 mykeyfocus (Member)

Ok, as promised here's a proof of concept code which checks to see if the rel=noreferrer blanks the referrer or not and then redirects accordingly to Voluum.

From some searching and some tinkering i've got it to work by...

  1. Using a hidden iframe to open a blank html file (just barebones <html><head><body>...etc) upon the CTA button being clicked.
  2. Then checking the referrer with javascript when the iframe has loaded.
  3. If the referrer is present send to DMR Voluum campaign link, if no referrer present then continue to redirect to Voluum click through link.


With the loading of a blank.html in the iframe it's going to add some delay - albeit a small one - to each redirect. If i find time in the future i'd love to get some numbers on the speed difference. Read that using about:blank in place of blank.html caused some issues, but worth testing in future.

@shakedown suggested a good way of checking using PHP (thanks man), to check the referrer and then redirect to the voluum link or a DMR link. PHP redirects are quicker than javascript however if you're hosting your LP on a CDN then PHP is not supported so you have to do it with javascript.

The code is below - fully commented
HTML Code:
<!DOCTYPE html>
<head>
    <title>rel=noreferrer Demo with checking</title>
</head>
<body>
	<!-- Invisible iFrame which is used to check referrer from CTA link -->
	<iframe id='ifr' name='f' src='about:blank' style='height:1px;width:1px;display:none'></iframe>
	
	<!-- blank.html is just an empty barebones html file -->
	<!-- when CTA BUTTON is clicked blank.html is opened in iFrame -->
	<a href='blank.html' rel='noreferrer' target='f'>CTA BUTTON</a>
	<!-- Remove *** rel='noreferrer' *** above to simulate lack of browser support-->
	
	<script>
		// Execute this when iframe has loaded blank.html after clicking CTA button
		document.getElementById('ifr').onload = function(){
			// If the referrer is longer than 0 in length, ie: not blank. (Faster than checking === '')
			if (document.getElementById('ifr').contentDocument.referrer.length > 0){
				// Referrer NOT blank => DMR Voluum Link
				// Set up a new direct linked campaign in Voluum with DMR and use the campaign link below
				window.location = 'http://VOLUUMLINK/DMR';
			}else{
				// Referrer IS blank => Use Voluum click URL
				window.location = 'http://VOLUUMLINK/CLICK';
			}
		}
	</script>
</body>
</html>
For those who are thinking "what's the point?", "DMR works fine", "why bother?", i say - because it's interesting to play!


01-03-2016 08:54 AM #21 bekayli (Member)

Quote Originally Posted by mykeyfocus View Post
<!-- blank.html is just an empty barebones html file -->
<!-- when CTA BUTTON is clicked blank.html is opened in iFrame -->
<a href='blank.html' rel='noreferrer' target='f'>CTA BUTTON</a>
I don't have a CTA BUTTON, instead I have an external js file that redirects the user to another page (lander) when they click "OK" when an alert pops up. What should I do instead?


01-03-2016 10:20 AM #22 mykeyfocus (Member)

Quote Originally Posted by bekayli View Post
I don't have a CTA BUTTON, instead I have an external js file that redirects the user to another page (lander) when they click "OK" when an alert pops up. What should I do instead?
Replace the Voluumlink.com line with your js. PM me if u want so as not to annoy folk with notifications on this thread.


01-03-2016 12:50 PM #23 matt k (Member)

<head>
<script> function load() {
var sendIt = '<form id=yourForm method=POST action=\'www.wherever'>' + '<inputs ...'</form>';
top.frames[0].document.body.innerHTML=sendIt;
top.frames[0].document.getElementById('dynForm').submit();}
</script>
</head>
<body onload="load()">
< iframe src="about:blank" id="noreferer">< /iframe>
</body>

May be faster overall...probably not, who knows. It definitely solves the about:blank vs blank.html issue though (blank will work with that).
The blank version wipes the ref clean in all browsers, so there'd be no reason to fork the route after using it.

Also, this is awesome dude


01-03-2016 01:07 PM #24 matt k (Member)

5 bucks says jennatalia knew about this three years ago...
I've come across like 15 holy sh-t this is awesome's recently of which there was like 1 he didn't know about in like 2002


04-27-2016 11:44 PM #25 exclusif (Member)

This is great. DMR literally cuts my revenue in half on pops.


04-28-2016 06:32 PM #26 mykeyfocus (Member)

You've also got the "meta" no referrer tag to play with...
https://w3c.github.io/webappsec-referrer-policy/
Look at 4.2


05-05-2016 04:17 PM #27 randomman (Member)

So I've wondered if this will work with redirect code? Here's some sample code from a whatsapp lander (its malaysian)

<script language="javascript" defer="">
(function() {
setTimeout(function() {
var __redirect_to = 'http://xxx.Voluum.com/click';
var _tags = ['button', 'input', 'a'], _els, _i, _i2;
for(_i in _tags) {
_els = document.getElementsByTagName(_tags[_i]);
for(_i2 in _els) {
if((_tags[_i] == 'input' && _els[_i2].type != 'button' && _els[_i2].type != 'submit' && _els[_i2].type != 'image') || _els[_i2].target == '_blank' || _els[_i2].target == '_top') continue;
_els[_i2].onclick = function() {window.onbeforeunload = function(){};}
}
}
window.onbeforeunload = function() {
setTimeout(function() {
window.onbeforeunload = function() {};
setTimeout(function() {
document.location.href = __redirect_to;
}, 500);
},5);
return 'KEMAS KINI KRITIKAL!\n\nAnda tidak boleh meninggalkan halaman ini sehingga anda mengemas kini WhatsApp anda ke versi terkini!\n\nTerima kasih kerana memahami.'
}
}, 500);
})();
</script>
and another piece of redirect code in the saem lander


<script> function goto(){ location.href = "http://xxx.Voluum.com/click" } </script>
How do I insert rel-noreferrer in this code? so far I only have it in my CTA code..

<a href="http://xxx.voluum.com/click" rel='noreferrer'><div class="button">KEMAS KINI</div></a>


05-11-2016 07:50 PM #28 oleandr (Member)

So basically I have to add rel='noreferrer' after the Voluum tracking link and that's it?


07-05-2017 04:14 AM #29 marc77 (AMC Alumnus)

@mykeyfocus thanks for the solution!!

After trying to implement mykeyfocus’ iframe-solution (from the comments) - and out how to actually test that it blanked the ref out correctly - it looks like I finally solved it (thanks for the suggestions @vortex!).

My problem was that the ‘referrer domain’ in Voluum was blanked but not the ‘referrer’. I ended up running mykeyfocus’ original ‘offerpage.html code as the offer in Voluum to test the iframe-code.

It’s all blanked in voluum now but somehow it still shows up on that offerpage (when the rel=noreferrer IS activated - not in the DMR-camp) (if I run traffic to a camp where the offer is a link to a second camp I can also see the ref in the data of the second camp).

I’m curious how that is possible? Since when I uploaded just the demo.html + offerpage.html it was blanked out all fine. Can voluum somehow do some magic since the test lander was added to the voluum campaign?


07-06-2017 01:48 PM #30 vortex (Senior Moderator)

Glad you've made a post here to ask! We did make some progress but tech stuff is really not my strong suit.

I'll ping mykeyfocus to see if we can get you a reply soon.



Amy


Home > Tracking Campaigns > Tutorials, Tips and Guides