Tracking Approach
Crazy Egg uses exclusively client-side tracking for its visual analytics capabilities.
Client-Side Only
Why Client-Side
Crazy Egg requires client-side JavaScript because:
- Heatmaps: Need browser DOM access
- Recordings: Capture mouse movements and interactions
- A/B Testing: Modify page content dynamically
How It Works
<!-- Loads asynchronously -->
<script type="text/javascript">
setTimeout(function(){
var a=document.createElement("script");
a.async=true;
a.src="//script.crazyegg.com/pages/scripts/XXXX/XXXX.js";
document.head.appendChild(a);
}, 1);
</script>
No Server-Side Option
Limitations
Server-side tracking cannot:
- Capture click positions
- Record sessions
- Generate heatmaps
- Run visual A/B tests
Alternatives for Server-Side Needs
For server-side analytics, use:
- Google Analytics Measurement Protocol
- Mixpanel server-side SDK
- Segment server libraries
Combine with Crazy Egg for complete picture.
Performance Considerations
Async Loading
Crazy Egg loads asynchronously, minimizing impact:
a.async = true; // Non-blocking
Delayed Loading
Further reduce impact:
// Delay 3 seconds
setTimeout(function(){
// Load Crazy Egg
}, 3000);
Conditional Loading
Load only on key pages:
if (shouldTrack(window.location.pathname)) {
// Load Crazy Egg
}
API Access
While tracking is client-side, data is accessible via API:
curl "https://api.crazyegg.com/v1/snapshots" \
-H "Authorization: Bearer API_KEY"
Use for:
- Automated reporting
- Data export
- Integration with other systems