How to fake it with Alexa?

Many people ask me why their website has a low Alexa rank. Alexa, an Amazon-owned analytics service shows and ranks different websites and can even tell one the audience their website is getting; including gender, education and age groups. The question often remains; How does Alexa work? Do they monitor the entire Internet?

The answer is a lot less mythical; it uses statistics from users who download the Alexa Toolbar (and fill in their gender, education, etc) and visit your website. It is commonly statistical sampling and has been done for the past 60 years for tv shows.

Being an engineer at heart, How does Alexa work? A little analysis at hand. Furthermore, with some scripting, you can boost your Alexa ratings quite a bit.

When the Alexa toolbar is downloaded, it creates a random 14 character identifier which identifies you as a unique user. The toolbar installation requires you to fill out some demographics, being gender, age group, race and so on. The unique identifier is replaced hereafter by: <RANDOM ID>

POST /php/demographics/index.php HTTP/1.1
Host: www.alexa.com
Referer: http://www.alexa.com/toolbar/success?session=<RANDOM ID>&plugin=alxf-2.14
Cookie: aid=<RANDOM ID>
Content-Type: application/x-www-form-urlencoded

amzn_id=&aid=<RANDOM ID>&browser=ff&plugin=alxf-2.14&gender=2&age=35-44&
income=60-90kðnicity=African+American&education=College&has_children=n&
install_location=work&zip=90210&version=6.5

This creates the demographics for a chosen <RANDOM ID>. You have a now a user “created” in the system which you can use for further data mining.

Subsequent requests, when somebody visits your website are done in form of GET requests to data.alexa.com, where clicks are recorded. The full URL is as follows:

http://data.alexa.com/data/<RANDOM ID>?cli=10&ver=alxf-2.14&dat=ns&
cdt=rq%3D11%26wid%3D13021%26s%3D200%26ttl%3D1000&ref=http%3A%2F%2Fwww.referer.com%2F&
url=http%3A%2F%2Fwww.yoursite.com%2Fdir%2Ffile.html

This request “logs” a request to www.yoursite.com/dir/file.html, coming from www.referer.com. It collects a few timestamp data as well to track how long users stay on your webpages, etc.

In essence, a web master could forge requests to this URL (in a <img> tag for example) to boost his/her site’s reputation on Alexa. To create a better varied audience, one could create several new “id’s” – dynamically using a script that performs the HTTP POST on the demographics gathering page – and include small html snippets to make ones site more popular. On top of this, knowing you can create your demographics, you can -virtually- make your site a lot more popular with a particulr gender, age group, race, etc.

In the end, you’re still serving your pages to users, it won’t attract any further visitors. You’re just faking that more users who visit your website also report this to Alexa – without them installing any toolbar.

Thank you,
Michael

One comment

  • Beh
    September 19, 2013 - 4:03 pm | Permalink

    Hello,

    First of all, thanks for the article, it’s useful.

    I have a question, how I’m supposed to generate valid unique IDs?

    Thanks

  • Leave a Reply

    Your email address will not be published. Required fields are marked *