The easiest way to integrate Google Analytics’ JavaScript tracking code in your cake application is to add Google’s code snippet in the file app/views/default.ctp.
To be a little more flexible you can store the tracker code in the application’s configuration file (/app/config/core.php). Moreover you can define a CakePHP (view) element that can be reused in other CakePHP projects.
Howto / source code:
- Define the view element (app/views/elements/google-analytics.ctp):
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); EOD; echo $googleAnalytics; } ?>
- Include the view element in app/views/default.ctp (just before </body>):
element('google-analytics'); ?>
- Define the tracker code in the configuration (/app/config/core.php):
Configure::write('google-analytics.tracker-code', false); // disables Google Analytics Configure::write('google-analytics.tracker-code', 'YOUR-TRACKING-CODE'); // enables Google Analytics
7 responses to “CakePHP: Simple Google Analytics integration”
Good work, nice and easy for quick integration. I will use this soon!
Nice Hint! Btw consider this: http://goo.gl/ybO0
Thank you very much!!! It is a very usefull tip.
Any update to this now – for analytics with domain?
this is good, but you can just add the script code google gives you to the app/view/element/footer/footer.ctp file in one shot. works well, and less involved.
Many thanks Dave. That’s what I was looking for 🙂
I have a script code provided by google. How can I integrate google analytics in my cake php website ?