 |
How I Almo$t Tricked Google Into Making Me Millions
|
Disclaimer#1 Some crazy tatted up gangster looking fool told me this story. He never told me his name but he wanted me to make sure his story was heard. The only evidence I have of his existence is this picture I snapped on my camera phone. Once again, every "I" and "me" in this story is actually a reference to "him".
|
Disclaimer#2 The following information can get you in trouble. Possibly with the companies involved, possibly with the law. Proceed at your own risk.
|
How Mozilla Makes It's Money Ever wonder how Mozilla stays in business? First, Mozilla makes Google the default search engine on FireFox (I'm sure some mula comes from that alone). Second, every time you use that search box and proceed to click an Adsense ad, Google shares the revenue with Mozilla. You can even watch them track it. Go to Google.com and search from the web page, the search url looks like this: http://www.google.com/search?hl=en&q=Greg+Gerber&btnG=Google+Search&aq=f&oq=
If you use the search-box built into firefox the resulting url looks like this: http://www.google.com/search?q=Greg+Gerber&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a
See the difference? In 2006, that relationship earned Mozilla $57 million, or 85% of the company’s total revenue. That's right... $57,000,000dollarsss worth of clicks in one year! When I found that out, I wanted in. Who wouldn't right?
A Crazy Idea After reading this article about this arrangement, a light bulb went off in my head: 1) The search-box in FireFox (and most browsers) is pluggable with simple OpenSearch plugins. 2) The arrangement between Google and Mozilla resembles an uber elite version of the Google Adsense For Search program.
HEY! LETS WRITE AN OPENSEARCH PLUGIN THAT DIRECTS ALL QUERIES TO MY GOOGLE ADSENSE FOR SEARCH ACCOUNT! Duh... Right?
The only way I would make any money off this was if 1) I could get it working 2) I could get a ton of people using it. In order for this to work I had to design it to look and feel exactly like the search results Google users are accustomed too. I also had to disguise the queries to look like queries Google was accustomed too. So I put on my geek hat and got to work.
Code & Technical Stuff In order to make this work I had to understand every aspect of the Google Adsense for Search service. Once I understood every parameter, I could construct myurl for the OpenSearch plugin . Turns out Adsense For Search it is based on their Google Custom Search service which is somehow related to their Google Co-opp service (its a total mess, reminds me of their unorganizedFeedburner/Adsense integration but I digress). You can actually create a custom search engine here and then link it to your Adsense account. A feature of this service allows you to actually host the search results onGoogle's domain and include the entire web in your search results (this is extremely important to making my custom search engine look and feel like Google Search).
Figuring out Google Custom Search The most important aspect of making this work was to break down and understand Google's parameters and pathing. More trial and error tinkering went down during this phase than in any project I've ever been a part of. Below are the most important things I learned.
If you create a Custom Search Engine Google assigns you a homepage. The url for it looks something like: http://www.google.com/coop/cse?cx=015013224597138524836:ckjyda74ibw
Once you perform a search, the url looks like this: http://www.google.com/cse?cx=015013224597138524836 %3Ackjyda74ibw&ie=UTF-8&q=Greg+Gerber&sa=Search
If you click "Next", the url looks like this: http://www.google.com/custom?hl=en&client=google-coop& cof=AH:left%3BCX:Greg%2520Gerber%3BL: http://www.google.com/coop/intl/en/images /custom_search_sm.gif%3BLH:65%3BLP:1%3BVLC:%23551a8b%3BGFNT: %23666666%3BDIV:%23cccccc%3B&cx=015013224597138524836: ckjyda74ibw&adkw=ad-tracking-gibberish&q=Greg+Gerber&start=10&sa=N
First, notice that the path changes each time. It starts as google.com/coop/cse, then changes to google.com/cse and once you click "Next" it changes again too google.com/custom. Second, notice the parameters change between the landing page and the "Next" page. I found that google.com/custom accepts a ton more parameters than google.com/cse. Turns out Google crams every aspect of the page layout and design into the URL string once you reach google.com/custom. That sure made my life easier!
So the next thing I did was break down the google.com/custom url string and figure out what every parameter meant:
The COF parameter housed all the design elements of the page (cof=...): ** FORID:1; (overall page layout) ** AH:left; (logo placement) ** CX:Google (name of custom search engine) ** L:http://www.google.com/images/google_sm.gif; (path to logo) ** LH:59; (logo height) ** LP:1; (logo placement) ** VLC:#663399; (logo color?) ** GFNT:#7777d9; (color of sponsored link and cached text) ** DIV:#d5ddf3; (border colors)
The rest of the parameters: ** hl=en (language) ** client=firefox-a (client used to generate query) ** ie=ISO-8859-1 (incoming character encoding) ** oe=ISO-8859-1 (outgoing character encoding) ** q=Whatever (search query) ** btnG=Search (the name of the input field that generated the query) ** cx=partner-pub-6785718362064386:ds6vkv-czdk (It can be the name of the custom search engine or your adsense publisher id depending on how you setup your account) ** adkw=ad-tracking-gibberish (Some sort of crazy encrypted string that Google generates for ad tracking. Still unsure exactly what they are using it for.) ** channel=9678868661 (channel for adsense tracking)
A couple notes on these parameters; I set the "btnG" parameter to "Search" because that means the query came from the search box on my custom search homepage. The "forid" variable in "COF" can be changed to adjust the layout of the results page. I discovered that FORID:18; gave me the exact results layout I needed, but it wouldn't let me pass my adsense ID or channel (Total Burn!). The channel parameter is only accepted by google.com/custom and is very finicky. I spentwAy too much time getting channeling to work properly but in the end, it was all worth it. Now that I understood the system I could construct myOpenSearch plugin.
Building An OpenSearch Plugin
In order to tell the search box in FireFox, IE etc. to direct queries to my personal Google Custom Search account I built anOpenSearch Plugin. Basically all the plugin does is tell the browser what website to direct the query too and what parameters to include. When you visit a website which has anopensearch plugin available, the little arrow glows and the dropdown allows you to easily convert your searchbox.
To make this process even easier, I just dugg into the FireFox application and replicated the OpenSearch Plugin included in FireFox. On my mac I just did this: 1) Right click on the FireFox Application and click "Show Package Contents" 2) Contents>MacOS>searchplugins>google.xml
My final opensearch plugin was a simple XML file that looked like this.
The only difference between my plugin and the one that is bundled in FireFox is the way I pass the parameters. I had to put them all into one giant string to get theplugin working on IE (Go figure right!?). Now all I had to do was throw the plugin up on my server and paste this code at the top of a webpage to call the plugin:
<* link rel="search" href="google-opensearch-plugin.xml" type="application/opensearchdescription+xml" title="Google "/>
So it was time to take my geek hat off and put my business hat on.
Distribution I was so pumped that I had gotten this working that I went on a quest for public computers. For my first test I wandered over to a local college where the library was packed with computers which needed nousername/password to use them! Score! For the next few hours I went to over 100 computers and installed my plugin, deleted the original Google plugin and set mine to default. I felt like the shadiest bastard ever as I cruised from desk to desk rockn' out to my iPod infecting browsers. "If this works, I am going to to take my new plugin global!". I jetted home so I could login and check my adsense account.

Holy crap it was working! and I had already made 5 bucks off a few computers in a couple hours. Now I understood why Google makes so much money. I was ready to install thisplugin on as many browsers as possible. But how the hell am I going to do that!?
Some of the crazy Ideas I came up with to distribute my plugin involved: 1) Creating a virus that would install my plugin automatically when someone visited a webpage. Then using Google Adwords or a similar ad network to promote some ridiculous scheme and send a ton of people to the page. 2) Hack the dns settings at college campuses and redirect all search traffic to my custom search engine. 3) Build an affiliate program and share revenue with anyone who has access to large amounts of computers and wants to install the plugin.
The virus idea sounded shady as hell and I have no clue where to get started on that, I don't know shit about hacking DNS servers or what that even means, but that affiliate program sounded like a good idea =). See, I was wearing my business hat now.
For the next couple days I just kicked back and refreshed my Adsense account. I am a total sucker for Analytics and I couldn't believe how many queries were being generated. I started to build different versions of myplugin that had different layouts. I could use channeling to separate the queries out and determine which layout maximizes click-through rates. I contacted a couple friends at different schools and set them up so they could go hitup their campus labs. I didn't get too crazy yet because first I wanted to surpass my goal of reaching $100. My best day so far looked like this:

The math behind this was starting to really excite me. From 100 computers I was generating roughly $12 a day. If I could get just 10 campuses with 100 boxes each I would be banking over $40k a year. I pictured myself with my feet kicked up on the desk refreshing my browser all day. haha!
Reached The Goal: $100 After 6 days of running full blast my adsense account reached $100 (I already had $20 in there from previous adsense for content ads). I knew that this was the make or break point for the future of this project because Google starts writing checks once Adsense users reach $100.

This was the big test. I was expecting my account to be flagged considering it was my first Adsense payout ever. The real question was how suspicious my account looked? Did it look like I was up to something? Or did I just have a successful Adsense For Search project running?
Email From Google
Hello Greg Gerber,
While going through our records recently, we found that your AdSense account has posed a significant risk to our AdWords advertisers. Since keeping your account in our publisher network may financially damage our advertisers in the future, we've decided to disable your account.
Please understand that we consider this a necessary step to protect the interests of both our advertisers and our other AdSense publishers. We realize the inconvenience this may cause you, and we thank you in advance for your understanding and cooperation.
If you have any questions about your account or the actions we've taken, please do not reply to this email. You can find more information by visiting https://www.google.com/adsense/support/bin/answer.py?answer=57153&hl=en_US.
Sincerely,
The Google AdSense Team ------------------------------ This message was sent from a notification-only email address that does not accept incoming email. Please do not reply to this message.
|
So needless to say this was a total bummer. I filled out an appeal form but never heard back from them. Luckily they didn't ban my entire Google account, just Adsense. Overall I am pretty disappointed with the way Google handled it. Their claim that "we found that your AdSense account has posed a significant risk to our AdWords advertisers" is total BS. My guess is that they didn't know what the fuck I was doing so they just banned me. Their computer generated email and faceless banishment was cowardly and rude. I am probably one of the biggest Google evangelists around (and still am) but they definitely screwed me in the end. Not only was my account banned, but Google never payed me.
THE END
-------------
So if you made it this far you obviously are interested in this type of thing. What do you think about this story? -- Was the guy in this story breaking the law? -- Where or when did he cross the line? -- What would you have done? -- What do you think about Google's response? -- Did Google act fairly?
P.S. If anyone from Google sees this and is nice enough to re-activate this guy's account, contact me and I will gladly put you in contact with him. =) |
|
|
 |