Google tracks you when you go to other sites, though. Or at least they DID.
Google tracks you when you go to sites displaying their ads.
People are misunderstanding what actually happened here. DoubleClick presents ads on a page. To track sites where you see DoubleClick ads, DoubleClick requires that you send it a cookie each time you load ads so it recognizes who you are (well, your randomly generated profile number). Safari didn't allow 3rd party cookies. So to get the cookie, you have to click the ad in question. The cookie then gets placed because you land on DoubleClick sites before being redirected to the advertiser's website.
Let's take a concrete example of what this was, step by step.
- You browse the web, see tons of DoubleClick ads. DoubleClick doesn't know because you don't have their cookie. Since you don't visit their site directly, they can't set it. Safari has a protection in place. Let's keep it simple, but this is what it will look like in HTTP parlance :
Code:
GET / HTTP/1.1
Host: www.macrumors.com
HTTP/1.1 200 OK
<img src="http://ad.doubleclick.net/ad/ns.macrumors/homepage;ppos=btf;kw=;tile=1;sz=300x250,336x280;ord=123456789;ctx=noscript" border="0" alt="" />
You made your HTTP request to
www.macrumors.com and in the returned HTML, there's an img tag asking the browser to load an image from ad.doubleclick.net (I'm not making this up, Macrumors uses Doubleclick through Netshelter, only simplifying).
When your browser sends its request to load that image, it gets the following :
Code:
GET /ad/ns.macrumors/homepage;ppos=btf;kw=;tile=1;sz=300x250,336x280;ord=123456789;ctx=noscript HTTP/1.1
Host: ad.doubleclick.net
HTTP/1.1 200 OK
[B]Set-Cookie: test_cookie=CheckForPermission; expires=Thu, 09-Aug-2012 21:17:57 GMT; path=/; domain=.doubleclick.net[/B]
The bolded line is important. That's the cookie DoubleClick is trying to set. Safari however knows that you visited
www.macrumors.com and not ad.doubleclick.net. So it doesn't set this cookie. Up to now, everything is normal, DoubleClick has not circumvented anything, this is standard HTTP and Safari has a right to accept cookies or not based on user preferences.
- You finally see an ad from DoubleClick about something that interests you. You click it. Your browser makes a request to DoubleClick as the link informs it. DoubleClick is now a 1st party. You've now requested something directly from DoubleClick, so now Safari uses the Set-Cookie HTTP header and creates a cookie for DoubleClick on your hard drive. That's because IMG tags for ads are always encased in Anchor tags that link first to the ad agency (DoubleClick in this case) which then redirects you to the actual advertiser. That's how ads rotate.
- Next time you visit
www.macrumors.com, you see an ad from DoubleClick. This time, your browser has a doubleclick cookie, so you send it to DoubleClick when you request the img tag :
Code:
GET /ad/ns.macrumors/homepage;ppos=btf;kw=;tile=1;sz=300x250,336x280;ord=123456789;ctx=noscript HTTP/1.1
Host: ad.doubleclick.net
Cookie: test_cookie=CheckForPermission; expires=Thu, 09-Aug-2012 21:17:57 GMT; path=/; domain=.doubleclick.net
And so now DoubleClick can track you and know which sites you visit with DoubleClick ads, so it knows what your interests are. It doesn't know however if you don't visit sites with DoubleClick ads, since you don't send it the cookie when there's no ressources from DoubleClick there.
And that's how it works basically.
Seems they now first send a "CheckForPermission" cookie (the one used in my examples). So when you click the ad and do a 1st party request for DoubleClick, it probably only sets its tracking cookie if you send back the "CheckForPermission" cookie first, whereas before it would just set the cookie regardless.