The Most Active and Friendliest
Affiliate Marketing Community Online!

“Adavice”/  “CPA
Guys, I just discovered that those high CTR values for my landing pages are because a hidden script that auto-redirected user to the offer page after certain time (it was counted as user click) if user doesn't click through the page manually. Silly me I didn't see that earlier, I really thought my LPs generate that high CTR naturally!

Remembert to check all files for malicous code. (.html, .css, .js).
Standard libraries (jquery) can be infected too if you just download from adplexity.
 
Thanks. It definitely makes sense when you sell your own product or give some freebie away. It's a bit different when you promote stuff as an affiliate I think as you have to choose between:
A. Build email list, but earn less now (I think you'll get way better CTR with simple landing page with 'NEXT' type of button, than with email form)
B. Earn more now (simple landing pages without any forms), but don't build email list.
It's quite a dilemma, isn't it?

It doesn't have to be one or the other, you can do both. But sounds to me like you're laser focused in one direction, so I would hate to distract you from that. Once you master your current area, maybe think about capturing emails as part of your campaign, or set up something separate.
 
Remembert to check all files for malicous code. (.html, .css, .js).
Standard libraries (jquery) can be infected too if you just download from adplexity.

That is one thing that worries me a lot. Is this obvious to spot, or does it take thousands of years of experience?
Meaning, what level of proficiency must one have to detect these?

__
 
one thing i want you to keep in mind :) .
if your GEO has more then one language make sure you translate the landing pages and redirect the visitor the the right landing page based on the browser language using voluum rules .
any Update About the campaigns ? .
Great tip, thank you!
I need to find some time to post update #8, I'll try to do this soon, in next 24 hours or so.

It doesn't have to be one or the other, you can do both. But sounds to me like you're laser focused in one direction, so I would hate to distract you from that. Once you master your current area, maybe think about capturing emails as part of your campaign, or set up something separate.
That's the plan, first I need to at least start breaking even, then I'll think about capture leads :)

That is one thing that worries me a lot. Is this obvious to spot, or does it take thousands of years of experience?
Meaning, what level of proficiency must one have to detect these?
Yeah, you usually need to have experience with html/javascript to spot these nasty code bits stealing your traffic and/or auto redirecting user. In next update (sorry, I'll try to find some time in next day or two to do update #8) I'll list pieces of code and explain what kind of bits you need to search for in landing page source code and what to do to avoid that bad mistake I've done.

P.S. A lot of views and likes for this thread in last 2 days, thank you so much everybody! :)
 
Yeah, you usually need to have experience with html/javascript to spot these nasty code bits stealing your traffic and/or auto redirecting user. In next update (sorry, I'll try to find some time in next day or two to do update #8) I'll list pieces of code and explain what kind of bits you need to search for in landing page source code and what to do to avoid that bad mistake I've done.

P.S. A lot of views and likes for this thread in last 2 days, thank you so much everybody! :)

Man, that would be absolutely smashing! Thanks a lot!

__
 
nasty code bits stealing your traffic and/or auto redirecting user.

Just an FYI, in case you haven't seen it yet...there is a script to deal with this in AffKit. ;) If someone steals your page, it will silently redirect to your page.
 
Just an FYI, in case you haven't seen it yet...there is a script to deal with this in AffKit. ;) If someone steals your page, it will silently redirect to your page.

Haha ... so what happens if you snatch an LP, script-protect yourself, and someone else grabs your lander and does that same? :)

A bit pricey right now for me, but seems like an awesome toolkit! Hope to be able to afford it soon enough.

__
 
Haha ... so what happens if you snatch an LP, script-protect yourself, and someone else grabs your lander and does that same? :)

I dunno :D:D:D . If someone rips your lander, the script (assuming the person is too inexperienced to delete it) lets you state what percentage of views go to your page, instead of the person's who stole your landing page. You get a percentage of his/her traffic to your offer. If you don't make it a ridiculously high number, they may not even notice. It may even cause them to stop using the page they ripped from you because they'll think they're not getting a good enough result. ;)

seems like an awesome toolkit!

It really is, I love it!
 
Hey, I'm just preparing Update #8 and it's gonna be big one ;) Technical stuff mainly, so be patient and come back here in next few hours. Sorry about this big delay.

Awesome journey mate. Looking forward to updates.
If you don't could you please provide your mindmaps to download? Sure it will help me a lot.
Thank You :)
I can't do that unfortunately, simply because the base of this mindmap is created by @cashmoneyaffiliate and he shares that only with his subscribers, I paid almost $1000 to be one of them. I spent about 6 weeks learning stuff from the Mobile Immersion course, written almost 70 A4 pages, then condensed all that knowledge in a single mindmap. However, I'll try to share some good stuff in my next update which will be available in next few hours :)

How would you know if there is malicious code in the lander downloaded from adplexity ?
@BigmanNc I'll let you know in my next update :)
 
UPDATE #8 [05 May - 28 May / 3 and a half week]


I spent a lot of time on technical stuff this time, didn't run too many campaigns, mainly because I discovered that my landing pages are not really converting as high as I thought they do. One of my LPs converted over 30% and another one over 80%, but it's actually not true, details below. I have a lot to share, but I'll try to keep it relatively short and focus on key facts. Lot's of tips here :)


1. Testing landing pages + bad news. My landing pages didn't convert that well. Yeah. I created brand new landing page, very similar to my highest converting one, and I was sure it will be even better than the previous one. Then, it converted at only about 1%. I didn't know what's going on. I checked everything I could: my VPS, 'disconnected' my CloudFlare VPN and tested it directly on my GoDaddy VPS and on different domain, checked loading time, even checked with my special PHP/JS script how individual parts of code perform. It didn't seem natural to me as this LP was really similar to the one that converted at 70%+. Then I started changing elements on my new LP and a tested a lot of other things. Anyway, long story short: I finally found out that there was a hidden script on that high-performing LP and it was auto-redirecting visitors to an offer after certain time if the visitor doesn't click through the LP.

How to avoid this.
Here's few things that may help you to avoid the mistake I've done. Unfortunately these tricky nasty scripts are well hidden or similar to some important javascript libraries like jquery.js. You have to be very careful especially with "free to download" landing pages and landing pages cloned/downloaded from AdPlexity or similar spy tool. I list some basic steps you should do after download such LPs. I would say, if your LP converts at 20% or more, something's wrong and you should investigate the source code, because those redirections are counted as user clicks and give you false stats at the end.
  1. Open your LP in browser and leave for 3-5 minutes. Ideally from your domain online, then come back after 3-5 minutes and check if your LP still shows the main page and didn't auto-redirect to somewhere else.
  2. Replace all javascript libraries or framework files with your own, downloaded from the official developer's websites. Example: If there's jquery.js (the filename can be jquery-3.2.1.js or similar) in downloaded files, delete that file and download jquery-3.2.1.js from official jquery.com website, ideally minified version and the same version, newer is even better, but after you download newer, check if your LP still works as before. Same rule applies to other libraries like node, mootools, prototype etc. and the library files are always ended with .js extension. You will usually find no more than only jquery library however.
  3. Remove "setTimeout" javascript functions if there's "location.href" inside. This one is dangerous as it auto-redirects a visitor to another page, sometimes the page/website name can be decoded, without http, only some random-looking bunch of characters like this:
    %28%66%75%6E%63%74%69%6F%6E%28%29%7B%69%66%28%
    Generally this function can look like this:
    setTimeout(function() { window.location.href='http://someurlhere.com'; (more code here) }, 1500);
    So it starts with setTimeout and finishes with a number and ");", then there can be some more code inside. Warning: the number at the end can be written in this format sometimes: 15e2 (which means number 15 and two zeros). If you see this js function anywhere in your source code, remove it and make sure your LP works normally after that.
  4. Remove javascript (js) redirections, examples:
    window.location = "http://someurlhere.com";
    window.location.href = "http://someurlhere.com";
    window.location.assign("http://someurlhere.com");
    window.location.replace("http://someurlhere.com");
  5. Remove html redirections, example:
    <meta http-equiv="refresh" content="0; url=http://someurlhere.com"/>
  6. Remove php redirections, that's if your index or main file is with .php extension, not .html, which usually doesn't happen, example:
    header('Location:http://www.someurlhere.com');
  7. This one is very tricky and will not show anything suspicious when you view your LP, but it will make a mess with your stats, e.g. will show that your LP converts at 70% while it converts waaay less than that. I had this one on one of my LPs.
    <link rel="icon" href="http://someurlhere.com" type="image/png" sizes="16x16">
    Edit: the scenario described above is only in case when there's your or someone else's offer url or tracking url included in "href", otherwise this code is not dangerous. Just make sure the url includes actual image, so it should end with .png, .gif, .jpg, .jpeg, .bmp or .ico.

  8. Learn HTML/CSS and Javascript ;) These languages are not so difficult to learn and will help you a lot in internet/affiliate marketing and will save you money on the long run as you won't need to hire any developers, but will be able to deal with source code on your own, especially at the beginning of your journey when you can't afford to hire a developer :)
  9. MORE (found on Adplexity.com tutorial): Search for word 'eval' in JS code in main file and all js files. If you found it, it's a major red flag that this lander might be backdoored. Also refresh page 10-15 times to make sure it doesn't redirect you to different page.
Warning: some redirection code can be attached to button click, e.g.
onclick='window.location="http://someurlhere.com"';
or

$("#target").click(function() {window.location="http://someurlhere.com";});
then just leave it and make sure in 'http' bit it's url to your offer or whatever you use there usually, could be voluum link.

There's more hacks landing pages' creators can use to trick you and steal visitors from you, redirect to different offer or the one you use, so then your LP is useless and it's like direct linking or even do nothing but messing with your stats (like showing your LP converting at 50%+), but those first 7 points above will eliminate well over 90% of all that problems.


2. I tested landing pages from AdPlexity. This time after I made sure there's no malicious code in them, I spent quite a lot of time testing various bits and pieces, different elements of the cloned LPs and result is this:
After I tested the exact same LPs I cloned, they performed really bad: 1% or less, even 0.4% often, which is crazy low! However, after I started improving them: adding some scarcity, good headline, made sure there's some comment section at the bottom of the page etc., the conversion rate started increasing to up to 2%+

Now my strategy is this:
  1. Download LP from AdPlexity or anywhere else, remove all the malicious code (7 steps I listed above) and test it as it is to see how it performs naturally. I let it run until I got 1000 views/impressions, which costs about $1 usually, 2000 views is even better as it will give you more accurate numbers.
  2. Add elements that you think will increase conversion rate: headline is very important, countdown timer or similar technique that creates scarcity, add some comment section at the bottom of the page etc. and then test how your LP performs after the change. Important: test 1 change a time as if you change multiple elements, you won't know which one increases/descreases your CR (conversion rate).
I can't make any LP perform better than 2% at the moment. I'm going to keep trying and hit maybe 3% CR, then I guess after optimizing I can increase that number, but on initial test CR is 2% for my best LPs.


3. Learned few things.
  1. CR, not CTR. I read about how to increase your landing page CTR, but people say CTR is not very important, CR is (or CVR, both terms mean conversion rate). I'm not so sure if that relates to LPs that perform at only 1% though.
  2. No point of promoting ZA (South Africa) offers on ZeroPark. Well, that's my personal thought. ZA traffic is expensive as hell on ZP, in fact, it's often the most expensive traffic on ZP, yeah, number 1 and often costs more than US, UK or Australia traffic, I've seen up to $0.003 per visitor on average for popup traffic on mobile (Redirected Domain Traffic - Volume, stats change often there as they are calculated live I think).

4. Script for Clickdealer developed. My AM started sending me biweekly reports (now it's weekly). Those reports usually contain 400-500 offers that perform best this week. So it was time-consuming to find the ones I'm interested in. Of course I could always ask my AM, but even then she can overlook some. I decided to develop a script that will save mine and my AM's time on long run. Below's a short video of how it works and here's a short explanation:
  1. I keep adding weekly reports to a folder and my script compares all previous reports and draws a chart based on that info. Big benefit of that is that I can see which offers are trending and which ones are dying.
  2. Main benefit is that I can find offers I want in seconds, instead of going through hundreds of offers from the report or asking my AM every time.
  3. It works like this: you insert an offer payout from-to, minimum conversion rate, keywords, press 'enter' key and voilà ;) You get list of offers based on your preferences. Moreover, the script compares current data to data from previous reports and shows you how conversion rate and EPC (for selected offers) changed over last few weeks.
  4. I included few useful links on that script's main page and I can quickly check country's spoken languages, mobile operators and go to Wikipedia's article with single click.
  5. I can relatively easily rewrite the script to make it work with pretty much any other reports from other networks.


5. Geturlparameter() function. Another problem solved here. This script is a must have on your landing page, it gets parameters from your url and displays in your page content, e.g. gets 'carrier' parameter from url like
and displays 'Vodacom' anywhere you set it to display in your LP, e.g.:
"Welcome Vodacom user"​
Unfortunately, if there's no value for a parameter, like 'carrier' in this case, this function would display next data after the equal sign and it wouldn't look good in your LP. Example:
And in your LP it can look something like this:
"Welcome &voluumdata=BASE64dmlkLi4wMDAwMDAwMi0wYTZiLTQyYzAtO user",​
instead of
"Welcome user"​
Test your LP with this and see if your "geturlparameter" function handles parameters with no values, maybe you have good function, but in case you don't, below's a function I developed/improved and it handles no values parameters. in the 'WRONG' line I included the most common function bit that doesn't work correctly in some cases. In 'CORRECT' line I give you the correct code that you should use:
WRONG: name = decodeURI((RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1] || '');
CORRECT: name = decodeURI((RegExp('[\?&]' + parameter + '=([^&#]*)').exec(location.search)||[,null])[1] || '');
We can even go step further and include default values in case they are not found in specific parameters, e.g.:
if (name=='' && parameter=='carrier') {name='3G';}
This means that if there's no value for 'carrier' parameter, "3G" will be displayed by default, so instead of

"Welcome user" or "Welcome &voluumdata=BASE64dmlkLi4wMDAwMDAwMi0wYTZiLTQyYzAtO user" if you use bad geturlparameter() function (when it meant to be "Welcome Vodacom user", but there's carrier=&voluumdata..., so no value for the carrier param), your function will display "Welcome 3G user".
I hope it makes sense to you, here's whole function that you can use in your LP:
<script>
function getURLParameter(parameter) {

//name = decodeURI((RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1] || ''); //wrong!
name = decodeURI((RegExp('[\?&]' + parameter + '=([^&#]*)').exec(location.search)||[,null])[1] || ''); //correct
//optional: default values for empty parameters
//wrap it with /* and */ to ignore it or completely delete 5 lines below
if (name=='') {

if (parameter=='device') {name='mobile phone';} //optional
if (parameter=='carrier') {name='3G';} //optional
if (parameter=='town') {name='your town';} //optional
}
//display the value
return name;
}
</script>


6. Subscribed to new networks. And that includes Pinox.com recommended by IAmAttila and Mobidea.com as there's lack of good sweepstakes offers on Clickdealer and they often have $0.01 EPC which sucks. It was much easier to be approved on these networks than on Clickdealer.



7. Great tip to find converting offers faster. That's a tip from @goraz1 in thread titled "One Great Tip To Find Converting Offers". Very nice tip! It's about checking your offer's page on URLitor.com for number of redirections. According to @goraz1, if there's 3+ redirections, the offer is not good because it tries to distribute your conversion to other companies. 1 redirection is perfect.


8. Mindmap. I explained in the post above why I can't share it. However I think I can share core points of what you should do step-by-step when running mobile CPA offers. It's very general list, but maybe it will help some newbies to go to the right direction when running CPA offers:
  1. Spy on competition
  2. Pick an offer
  3. Create angles
  4. Build landing pages
  5. Cloak (optional and risky, I don't do it)
  6. Get enough data
  7. Optimize
  8. Resell traffic
  9. Scale
  10. Repeat :)

9. Few bits changed in opening post. I decreased my campaigns budget to $250 per month due to lots of expenses lately. Also, I'm pretty sure I mentioned that before, but I edited my goal to be 10K/month revenue with about 50% ROI, which would make me about 5K pure monthly profit. 10K profit seemed to be a bit too crazy for start ;) Just read post #1 in this thread to see the changes.


That is it I guess :) No campaigns this time, but bunch of useful (I hope) stuff! I ran some campaigns to find some converting landing pages, but they're not worth of sharing. I still need to experiment with landing pages and then run some campaigns, maybe from Pinox or Mobidea this time, we'll see. I hope you enjoyed this post and I hope it wasn't too long or too boring. Thanks!
 
Last edited:
How would you know if there is malicious code in the lander downloaded from adplexity ?

The honest answer is... since you're asking, it's by hiring a web-dev to scan it for you.

EDIT: Holy crap @Mr.Z - page wasn't updated when I replied and BOOM, just saw your answer. Thanks a bunch! You kept your word and followed through. You're ace man!

__
 
@Mr.Z , you continue to amaze me.

That is one awesomely detailed and helpful post! Thanks for you contribution, I'm sure you've helped a ton of people.
 
@Mr.Z - mind ... blown!

I've just finished level 1 of codecademy in HTML and CSS, starting JS module 1. Will continue slow and steady. After reading a bunch a few years back about the easiest way to get into programming - I kept getting Python. So I tried that. Did 23% easy, and then got stuck, frustrated, had no one to help... so I quit.

I'm worried the same will happen with JS. Anyway, I dont intend on becoming a web-dev pro, but how would you say the complexities compare?

Cheers dude, absolutely fantastic contribution

__
 
Holy crap @Mr.Z - page wasn't updated when I replied and BOOM, just saw your answer. Thanks a bunch! You kept your word and followed through. You're ace man!
@Mr.Z , you continue to amaze me.
That is one awesomely detailed and helpful post! Thanks for you contribution, I'm sure you've helped a ton of people.
Thank you so much guys, I appreciate it a lot! :)

@Mr.Z - mind ... blown!

I've just finished level 1 of codecademy in HTML and CSS, starting JS module 1. Will continue slow and steady. After reading a bunch a few years back about the easiest way to get into programming - I kept getting Python. So I tried that. Did 23% easy, and then got stuck, frustrated, had no one to help... so I quit.

I'm worried the same will happen with JS. Anyway, I dont intend on becoming a web-dev pro, but how would you say the complexities compare?

Cheers dude, absolutely fantastic contribution

__
Fantastic, keep learning! Well, they say JavaScript is very complex programming language, but I think it's easy to understand. I mean, when you're in Internet/Affiliate Marketing, you don't have to know how to build apps or some complex scripts, you just need to understand the syntax and that's not so difficult to learn. I don't know Python, I do PHP (my main skill making me money at the moment), HTML/CSS, JavaScript and HTML/CSS is definitely the easiest one, then JS and then PHP is the hardest in my opinion.
 
Hi @Mr.Z & Everyone,
Thanks a lot @Mr.Z for sharing great tips.
I have 2 questions:
1. It's very important to care about the page loading speed, but what about the tracker loading speed, it will really increase the campaign loading speed. How can you deal with this ??
===
2. I have a cloudflare account but i can't figure how to upload my landers to my server, i searched about that and i found nothing, please if you have any tutorial or hint to do that i'll be thankfull.
===
Thanks.
 
My two cents. But 250 per month for traffic is too low. You will be spending much more on tools, subscriptions and servers that it won't be profitable at the end.

I am of course encouraging you to continue and love the fact you took action, I know my advice can seem blunt but it is to help you realize that the more money you put in your camps, the faster you will find a converting offer and be able to get back your initial investment and make a profit.

I would suggest between 50 to 100 a day as a starting budget. Do not forget that networks can pay you weekly if you are generating enough conversions. So even with 1000 to 2000 dollars, you will be able to generate enough conversions, and gather enough data to learn the traffic source quicker, test more offers and


Let say you test a couple of offers with 100 to 200 dollars. 10 initial offers with one converting landing page. The best offer (and most of the time, you will have several offers that convert well for a specific carrier / placements, type of traffic adult/mainstream and so on, but to keep it simple we will say that only one looks promising).

You are at -50%, and in a whole of 200 dollars (not enough conversions to get paid from the aff network).

Ok great, time to go to step 2.

Now that you have an offer that converts, you need to work on it to reach a positive ROI. You decide to test different landing pages for this same offer by aggressively cutting bad placements.
Let say 5 landing pages, so total is 20 per landing, by 5. It is another 100 dollars.

Your best lander is at -30%. Great. Time to go to step 4.

You will need to test even more landing pages (or testing different angles for the best performing landing page, it depends really and every marketer has a different opinion) while not blacklisting too many placements to keep the traffic rolling, you don't want to be making 5/10 a day, after all these efforts.

5 angles tested with the best performing landing page. 20 dollars per angle. You need statistical significance, and hence the offers you should be testing need to be less than a dollar to make sure that the changes you are making are not due to luck but are really making a difference in conversions. This is very important in order to be able to scale confidently.

Ok, now you spent another 100 dollars and found your best angle, while praying traffic doesnt drop too much. Popads is very competitive, and you can get outbid pretty quickly.

Next step, I forgot the count... Yeah, step 5.

Now that you generated enough conversions, and got to a -10% to breakeven stage, you have several possibilities to reach 50%+ ROI:
-Ask for a payout bump.
-Create whitelist camps (some people prefer to have one campaign per carrier operator from the beginning, this is why it is very important to get in touch with your aff manager and ask for the best offers available and not blindly rely on the reports they send. The traffic most of the time is coming from a single affiliate and you don't know what kind of traffic he is using. For example social traffic ie fb can convert 10% easily in some cases while pops can't get past 1 or 2% in the best case scenarios).
-Test different bid levels.
-Create a camp for adult and mainstream.
-Test the same offer from a different network. This might be done earlier depending how tight in budget you are etc..
-Start testing the same offers in different geos from the same advertiser.
-Scale to other traffic sources etc...
And the list goes on.

As you can see, you will need a minimum of 400 dollars before breaking even. And from that step you will certainly need about 1000 dollars to scale the campaign and make a profit.
This process can take as much as a week to a month or more, it depends, you can get lucky and find a profitable campaign off your first 200 dollars batch testing. Or it can take two rounds or three.
So 400 dollars is really a minimum, the more realistic budget is as I said 1000 to 2000 dollars to reach a solid breakeven/profit.

Don't forget that offers get paused, competition jumps on board etc..., so let say you use your 250 dollars the first days of the month and in the best case you find a profitable campaign. Waiting a couple of weeks to resume traffic may be too late. When you find a profitable camp, you need to hit it hard and fast, squeeze profits and move to the next one.

I hope it helps.
 
Last edited:
MI
Back