Loading tutorials…
Loading tutorials…
Crazy Egg's install is famously easy — paste a script, done. The part nobody warns you about is the page-view budget burning through in week one because the default setup tracks every page on every device. This is the setup that prevents that.
Who this is forOwners or marketers standing up Crazy Egg for the first time. If you're running paid traffic to landing pages and your conversion rate is flat, behavior data from Crazy Egg is the cheapest way to find the friction — but only if the install is scoped right.
What you'll need
Step 1
Sign up at app.crazyegg.com. Plans are scoped by tracked page views per month, NOT site visits — pick the tier that fits your actual page-view volume.
Go to www.crazyegg.com → Start Free Trial. Sign up with a work email — consumer Gmail works but Workspace makes seat management cleaner once your team grows.
Crazy Egg plans are scoped by tracked page views per month, not by sessions or visits. Basic = 30,000 page views/mo. Standard = 75,000. Plus = 150,000. Pro = 500,000. Above Pro is Enterprise (custom pricing).
Page views ≠ sessions. A single visitor viewing 5 pages = 5 tracked page views. Check GA4 → Reports → Engagement → Pages and Screens → total page views for the last 30 days. Pick the Crazy Egg tier that covers that number with ~30-50% headroom for growth and exclusions.
Don't overspend in month one. Most sub-50K-page-view sites are fine on Basic ($29/mo annual) for the first 60 days while you figure out which pages you actually want to analyze. You can upgrade in one click later.
Free trial: 30 days, full feature access on Standard tier. Use it to validate the install and the workflow before committing to annual billing.
Account name = your business name. The first site is created during onboarding — enter your primary domain without https:// (e.g., acme.com). Crazy Egg will normalize it.
Step 2
In Sites, add each domain you want to track. Each site gets its own User ID and tracking script — don't reuse one across multiple unrelated domains.
From the left sidebar, click Sites → Add a Website. Enter the domain without protocol (acme.com, not https://acme.com).
Crazy Egg generates a small <script> tag pointing to script.crazyegg.com/pages/scripts/XXXXX/YYYYY.js where XXXXX/YYYYY is your account number split for delivery. This is the only snippet you need — there is no separate config object.
Crazy Egg uses a single tracking script per account by default. You can run multiple domains under one account; data is segmented by URL inside the dashboard. The User ID stays the same.
If you have totally unrelated brands or multi-client agency setups, use separate Crazy Egg accounts — not separate sites under one account. Roles and billing are per account, not per site.
Copy the snippet. Paste it into the <head> of every page on your site, ideally right before the closing </head> tag so it loads after your critical CSS and meta tags but before the body.
Step 3
Shopify, WordPress, Webflow, Wix, BigCommerce, and Squarespace all have first-class Crazy Egg integrations. Use the platform option unless you need GTM for other reasons.
Shopify: Apps → search 'Crazy Egg' → install the official Crazy Egg app → connect your account. The app injects the snippet site-wide and handles theme upgrades automatically (so you don't lose tracking after a theme update).
WordPress: install the 'Crazy Egg' plugin from the official directory. Settings → Crazy Egg → enter your User ID. The plugin handles the snippet site-wide without theme edits.
Webflow: Project Settings → Custom Code → paste the snippet into Head Code. Hit Save Changes, then re-publish the site (Webflow doesn't hot-deploy header code — a forgotten re-publish is the #1 cause of 'Crazy Egg shows no data' in Webflow tickets).
Wix: Settings → Custom Code → Add Custom Code → paste in Head, set 'Apply to' to 'All pages,' select 'Place Code in' Head.
BigCommerce, Squarespace, and Magento each have similar header-code or integration paths — Crazy Egg's docs list them.
Google Tag Manager: create a Custom HTML tag with the Crazy Egg snippet, trigger = All Pages. Use this if you also run Meta Pixel, GA4, or other tags — you keep one source of truth for tag firing. Don't combine GTM AND a platform plugin.
Step 4
In your Crazy Egg dashboard, Sites shows install status per domain. Actively visit the site, then re-check. Trust the verification, not silence.
Open Sites → click your domain → Tracking Status. Crazy Egg pings your site within a few minutes of script install. Green = detected, red = not detected.
If red, click Recheck or Verify installation. Crazy Egg fetches your homepage and scans for the script. Re-run after 60 seconds if it still fails — first request can sometimes hit a cold cache.
Better verification: open your site in incognito (no ad blockers), open DevTools → Network → reload. Filter for 'crazyegg' — you should see a request to script.crazyegg.com returning 200. If you see a 404 or no request at all, the snippet isn't loading on this page.
Best verification: in DevTools → Console, type CE2 and press Enter. Response should be an object (the Crazy Egg loader). If undefined, the script didn't load — usually a typo in the snippet, a script error before it, or a Content Security Policy (CSP) blocking script.crazyegg.com.
Common CSP fix: add script.crazyegg.com, *.crazyegg.com, and trk.crazyegg.com to your script-src and connect-src directives. Crazy Egg's docs maintain the current allow-list.
Visit at least 3 different page templates (home, product/landing, internal page). The script must fire on every template you want to analyze — many install bugs only affect specific templates (e.g., checkout pages on Shopify if you didn't enable checkout extensibility).
Step 5
Account & Settings → exclude your office IPs, team logins, and bot user agents. Otherwise your own QA polluts every heatmap.
Open Account & Settings → Filters (or Privacy Settings depending on UI version).
Add your office IP, home/VPN IPs of all team members, and any contractor IPs to the IP Block list. Don't skip this — internal team clicks dominate small-site data for the first month.
Add bot user agents (Pingdom, UptimeRobot, AhrefsBot, SemrushBot) to the User Agent block list if Crazy Egg exposes that option in your tier. Some bots use rotating IPs so user-agent blocking is more reliable than IP blocking for them.
For team members who can't pin an IP (mobile, VPN), have them open https://app.crazyegg.com/me/disable in their browser. This sets a cookie that disables tracking for their device on your sites.
Save. Filters apply going forward — existing tracked page views aren't retroactively removed. Set this up on day one to avoid the first month of data being half-noise.
Step 6
Add at least one backup admin and review who has access. Crazy Egg bills per seat above Basic — keep the team scoped.
Account & Settings → Team Members → Invite. Enter email and pick a role.
Roles: Owner (full control including billing), Admin (full control except billing), Editor (create + view Snapshots, Recordings, A/B Tests), Viewer (read-only). Start everyone at Editor unless they manage the account.
Add at least one Admin besides yourself. Solo-founder accounts where one person owns the only Owner seat are the most common Crazy Egg lockout story.
Above Basic, paid plans typically include a fixed number of seats with additional seats at extra cost. Audit team membership quarterly and remove anyone who left the company or no longer uses the tool.
For agencies: Crazy Egg supports multi-site management under one account. Each client gets a separate Site entry; data is scoped by URL. For strict client separation (compliance, contract requirements), use separate accounts and bill each client directly.
Step 7
Wait 1-4 hours after install. Open the Dashboard. Tracked page views should match GA4 within ~10%. If far off, the install is wrong.
Crazy Egg starts counting tracked page views within minutes of install. The main Dashboard shows page views tracked this billing period — refresh it after 1-2 hours of real traffic.
Cross-check against GA4: GA4 → Reports → Engagement → Pages and Screens → page views for the same window. They won't match exactly (Crazy Egg filters bots and respects DNT differently), but they should be within 10-15% of each other.
If Crazy Egg shows 0 and GA4 shows real traffic: the install is broken on most pages. Re-verify with the DevTools method (CE2 in Console) on 3-5 different templates.
If Crazy Egg shows 2x GA4: you've installed the script twice (often: once via GTM and once via a platform plugin). Remove one install method. This burns your page-view budget at 2x speed.
If Crazy Egg shows close to GA4 but slightly lower: that's normal. Crazy Egg filters bots more aggressively than GA4 by default.
Set a 30-day baseline before drawing any conclusions. Crazy Egg's value is pattern recognition across Snapshots, Recordings, and A/B Tests over time — not insights from week one.
Common mistakes
Buying Pro or Plus before validating real questions
What goes wrong: Plus is $99/mo and Pro is $249/mo (annual billing). Teams jump straight there for the A/B Test and CTA features, then realize they don't yet have specific questions Crazy Egg can answer. $1,200-3,000/year on capacity that goes unused while a $29/mo Basic plan would have surfaced the same first 5 insights.
How to avoid: Start on Basic or Standard for 60 days. Track which features you actually pull. Upgrade only when a specific blocked workflow (e.g., A/B testing on a checkout flow that needs Pro-tier sample volume) justifies the next tier.
Installing the script twice (double tracking)
What goes wrong: GTM tag + Shopify app both fire the snippet → 2x page views against your monthly cap. A 60,000 page-view site burns through Standard (75K cap) in 18 days instead of 30. You either overage-charge or lose tracking for the rest of the month. Typical cost: $50-200/mo in unnecessary upgrades or lost data, $1,000-4,000/year.
How to avoid: Pick ONE install method per site — platform plugin OR GTM OR direct snippet. Verify in DevTools: only one request to script.crazyegg.com per page load.
Not excluding internal team traffic
What goes wrong: Your team's logged-in QA sessions show up in Snapshots and Recordings. Clicks on admin nav, dashboard pages, and dev-only flows dominate the data. Decisions get made on UX patterns that real users never see. Most teams discover this 2-3 months in — by then $200-1,000 of Snapshot budget has been spent on heatmaps that mostly tracked the founder.
How to avoid: On day one, add team IPs to the block list AND have each team member open /me/disable to set the opt-out cookie. Belt and suspenders.
Picking a plan based on visitors instead of page views
What goes wrong: Site has 30,000 monthly visitors at 5 pages/visit = 150,000 page views. Operator picks Basic (30K cap) thinking 'I have 30K visitors.' Tracking stops on day 7 of the month and the Snapshots that would have captured the highest-volume conversion patterns fail to populate. Typical cost: $50-200 in plan upgrades + 2-4 weeks of CRO momentum lost.
How to avoid: Check GA4 page views (not sessions) for the last 30 days. Pick the Crazy Egg tier covering that with 30-50% headroom.
Single Owner seat with no backup
What goes wrong: When the founder or agency contact leaves, no one can access billing or downgrade the plan. Crazy Egg support won't transfer ownership without the Owner's email confirmation — and if that mailbox is deactivated, you're locked out. Most accounts in this state get cancelled at renewal and all historical Snapshots, Recordings, and A/B Test results are deleted — typically $400-3,000 of paid subscription + a year of CRO learnings lost.
How to avoid: Add at least one Admin (Owner-level for redundancy on Plus+) on day one. Document who has access in your team wiki.
Skipping the DevTools verification step
What goes wrong: You install the snippet, see a green check in Sites, and assume it works. Three weeks later you realize the snippet was on the homepage template only — product pages and checkout have zero data. Half your CRO questions can't be answered. On a $20K/mo ad-spend account, 3 weeks of missing checkout data = ~$3,000-8,000 in unrealized CRO insights.
How to avoid: In DevTools Console, type CE2 on at least 3 page templates (home, product/landing, checkout). All three must return an object. Anything else = install is incomplete on that template.
Recap
Done — what's next
How to set up a Crazy Egg Snapshot the right way
Read the next tutorial
Hand it off
Setting up Crazy Egg is a project. Turning Snapshots + Recordings + A/B Tests into a steady stream of shipped CRO experiments is a job. A vetted conversion specialist on EverestX typically runs $300-800/mo at $14-16/hr — initial setup + first CRO playbook is usually a 1-week sprint at $400-1,000 total.
See specialist rates
For most sub-30K-page-views/mo sites, Basic ($29/mo annual) is enough to run 1-2 Snapshots, watch 10-20 Recordings/week, and spot the top 3 friction patterns in 60 days. Above 30K page views, you'll either need to upgrade or filter URLs aggressively to stay within budget.
The snippet loads asynchronously and adds ~25-40KB compressed. Real-world Largest Contentful Paint impact is typically under 50ms. If your site is already on the Core Web Vitals borderline, install via GTM with a 1-2 second delay trigger to defer Crazy Egg past LCP.
Yes. Crazy Egg detects route changes via the History API. For older SPAs that don't use pushState (or for client-rendered modal flows), call CE2.tracker('newPageview') after each navigation event to log it.
Yes if you install the same User ID on both subdomains and set the cookie domain to .acme.com via the cookieDomain config option. Crazy Egg will then treat them as one user journey for Recordings and Traffic Analysis.
Hotjar has stronger Surveys + Funnels for $30-200/mo. Microsoft Clarity is free with unlimited sessions but no native A/B testing. Crazy Egg sits in the middle — integrated Snapshots + Recordings + A/B Tests + CTA cards in one tool, $29-249/mo. See the Crazy Egg vs Hotjar vs Clarity decision guide below.
Snapshots, Recordings, and A/B Test history are retained for 30 days after cancellation. After that, all data is permanently deleted. Export any Snapshot images or A/B Test result tables you want to keep before cancelling.
Crazy Egg
Crazy Egg's Snapshot is a five-report bundle (Heatmap, Scrollmap, Confetti, Overlay, List). Most operators read one and skip the other four — and the four they skipped were the ones that answered the question. This is the setup that reads the whole bundle.
Crazy Egg
Crazy Egg Recordings are powerful — and most-wasted. The difference is filter discipline. This is the setup that turns 1,000 recordings/month into 5 useful insights, not 1,000 hours of 'someday I'll watch these.'
Crazy Egg
Crazy Egg costs $29-249/mo. Hotjar costs $0-400+/mo. Microsoft Clarity is free. Each claims to solve the same problem. This is the honest comparison — where each tool actually wins, and which one fits your stack.