EDIT: This question is solved, but I can't accept my own answer just yet.
Howdy!
So I've got a PHP/CodeIgniter webapp. I've got some custom Ajax-based tracking code inserted into my page - however obviously, for testing purposes, I don't want this code to fire when I'm running the site locally on my development computer.
In order to avoid Analytics still tracking, I'm using this in my source code:
<?php if ($_SERVER['HTTP_HOST'] != 'localhost:8888'){ ?>
_gaq.push(['_trackPageview', '/my/ajax/page']);
<?php } ?>
That does the job fine in the source code - when I'm on http://localhost:8888 (MAMP's URL) it doesn't appear. When I'm running live, it appears. Woot.
However I've found some seemingly infinite error. When you click a link that fires an Ajax event, the Firebug log repeatedly fills up and up and up with errors, if you leave it a couple of minutes it gets into the thousands (I guess it's an infinite loop). The error each time is:
_gaq is not defined
Then it references it being on localhost:8888 (line 26)
. Line 26 reads:
<!-- Includes for Uniform JS -->
Just a comment... I've removed that (and the subsequent Uniform JS script links beneath), same error, just goes to the next possible line. So I thought it might be the script above causing it the problem, that was Typekit. Commented out Typekit, still the same issue. Ouch.
Anybody know what's going wrong here?
*Could I just forget the PHP blocking bit and can I block my localhost in Google Analytics? The problem is I'm on a dynamic IP so changing Analytics settings every time my computer gets switched on will be a pain in the bum *.
Thanks!
Jack
EDIT: I should make it clear that EVERY reference to Google Analytics is put between the <?php ?>
blocks, including the declaration at the foot of the page. So it's not like there's some Analytics JS appearing and not the rest.