Forum Moderators: phranque
I just wanted to see if any of you apache savvy guy could clear something up for me.
I found a discrepancy between the number of clickthroughs shown in my RAW server access.log and the the stats in Adwords. The response from the support folks was <paraphrasing> "your server log might no show all clickthroughs - and you might not see all clicks if the same person uses tha back button and clicks the ad again".
Now it is my understanding that all requests (duplicates or not) to apache are recorded in the server log, so why would google come back this this cock-a-mamie story about server logs not catching all requests to the server.
Perhaps I am wrong - so I wanted to get some feedback from someone with more experience than myself with server log - just to confirm what I already believe to be true.
But "the story" is not cockamamie: They are talking about the effects of client-side caching or even ISP-level caching a la AOL/EarthLink. Google may record a click on your Adwords ad on their site (or on an AdSense site if you're participating in the "content network"), and that will count as a click-through. But if the searcher has already visited your site from a previous click on your AdWords ad or in the natural results listing, his/her browser may have cached your landing page locally. If this is the case, then the browser will detect that it has a cached copy of your page, display its cached copy, and not send any request to your server.
There are various techniques to think about and some things you can check. First of all, to prevent this scenario from taking place, you may want to make your landing page non-cacheable. This may or may not be feasible depending on its size, the number of hits it gets, and your server performance. If you forgo client-side caching, you will likely see an increase in server load --from negligible to overwhelming-- depends on your page size and your site's normal traffic patterns.
Another approach is to include a small "Web beacon" on your landing page that is non-cacheable. Generally this takes the form of a 1x1-pixel transparent gif image (43 bytes) or even a very-small "real" image that's part of the page. If that image is non-cacheable, then every time the page is rendered, a request for that image will be sent to your server -- Some "internet security" software can prevent this too, though.
Check out the cache-control headers returned by your landing page by using the "Live HTTP Headers" add-on for Firefox/Mozilla, or by using an on-line server headers checker. If the cache-control headers are absent or are set to allow for long-term caching, that may be your problem.
Jim
Thanks for the respone - it all makes a bit more sense now.
I have a real html page - how do I introduce a non-cachable image into the page? I have used perl to set the date the page expires but have not done the same with images.
One more thing, I did see three clicks all within a couple of seconds of one another from the same IP address, same URL, same adwords cust_id - I am assuming that some dupes do get passed through and some dont - would that be correct?
Thanks, Chris.
Yes, all of this depends on both the server- and client-side settings, with the client able to override a lot of server-side settings. For example, you can configure IE to "always get the file from the server" and configure Firefox to "cache items for 0 days." In either case, the browser will then always re-fetch all objects from the server every time the page is displayed, even if the server says they are cacheable. Most users *do not* have the cache disabled like this though, as it makes for slow/inefficient surfing, especially on dial-up.
Or, it could have been a click-bot, in which case we'll just hope Google is on the ball and filters out those clicks...
> how do I introduce a non-cachable image into the page?
There are two parts to this: HTML pages and images, and server headers. Put a very small image on the page (or use a small one that's already there), and then use Apache mod_expires and mod_headers to make that image file non-cacheable. Example, in .htaccess:
<Files my-non-cacheable-image.gif>
ExpiresDefault A0
Header set Cache-Control: "no-store"
</Files>
I am going to introduce the 1 pixel image and .htaccess file right away and get the PPC campaign restarted.
So when I look at my log now - I will be able to see the full adwords request (for non-cached pages) and in the case of a cached webpage - the request for the 1 pixel image at least.
That means that I should be able to tie the adwords stats and log file together and get close results than before.
Thanks Jim, I now know a lot more about whats happening behind the scenes with Adwords and Log files.
[edited by: DataSure_Wiz at 2:59 pm (utc) on June 26, 2008]