Help Center

General Questions About Crazy Egg
Why should I use Crazy Egg?
Why should I use Crazy Egg?

Analytics gives you a static interpretation of your site visitor’s behaviors by telling you how many people visited your site, viewed a page or shows where your visitors came from. While this information can be valuable, it does not tell you the effectiveness of design elements, link placement, or popular areas on a site page.

Crazy Egg tells you where people are clicking on your site and which areas on a site page could use improvement. Crazy Eggs creates reports that allow you to visualize where people are clicking on site pages. This information is valuable for increasing conversions, for example, people purchasing your products and services or subscribing to your newsletter.

Crazy Egg has four reports:

Heatmap – Shows where people clicked on your site.

Confetti – Statistical information like referrals, browser type and operating system the viewer used.

List: Shows the information in a list format.

Overlay: Gives more information about each element on your site pages.

If you are running an advertising campaign that is not performing as expected, page view information will not help increase sales. Knowing where people are clicking on the page, and moving elements around on the page will help put important information in areas you know viewers are looking.

How do I use Crazy Egg? How does it work?
How do I use Crazy Egg? How does it work?

Crazy Egg shows you where people clicked on your site. To use Crazy Egg, a small piece of JavaScript code needs to be placed on your site pages. Once the code is on your site, Crazy Egg will track user behavior. Our servers will create a report that shows you the clicks on the pages you are tracking. You can review the reports in the dashboard within the member’s area of the Crazy Egg site. Setting up Crazy Egg is quick and easy.

What makes Crazy Egg different from all the other analytic services out there?
What makes Crazy Egg different from all the other analytic services out there?

Crazy Egg is a unique service that provides graphical and text analyses of visitor behavior on your site. Yes, you can simply count page views, or IP addresses, but can you really use this information? You need to know where your visitors are clicking so that you can fine-tune your site’s performance. For example, if you are running an ad campaign that isn’t earning any money, it could be due to the placement of the ads. You can use Crazy Egg to experiment with this positioning until you find the right spot to improve the ad’s performance.

Check out what others think of the product:

CrazyEgg vs. Google Analytics

CrazyEgg is Crazy Good News for Web Site Owners

CrazyEgg – A Must Have Analytics Tool

Understand your Visitors with Heatmaps

87% conversion increase in the first 30 days

Using Click Tracking For Better Blog Content and Design

Will Crazy Egg decrease my site’s performance?
Will Crazy Egg decrease my site’s performance?

No, your visitors or customers will not experience a difference in site speed or performance.
The Crazy Egg Javascript is asynchronous so it does not slow down the page load time.

Can I track multiple domains?
Can I track multiple domains?

Yes you can track multiple domains within one account.

Can Crazy Egg track my entire site?
Can Crazy Egg track my entire site?

Yes, but you’ll have set up each page in your dashboard. Our basic account does limit you to ten pages, so if you have a large site, you’ll need to upgrade to our Pro Plan.

If I have the same link in multiple places on my page, will the data be combined for that link?
If I have the same link in multiple places on my page, will the data be combined for that link?

No, we do not combine link data. If you have the same link at the top and bottom of your page you will be able to see how many clicks the top one gets verses the bottom one.

Does CrazyEgg track iframe and/or flash objects?
Does CrazyEgg track iframe and/or flash objects?

Yes flash clips and iframe objects such as ad-sense are tracked.

What browsers and site pages do you support?
What browsers and site pages do you support?

We support Internet Explorer, Firefox, Chrome and Safari on all major operating systems.

Does Crazy Egg work with secure (https) sites?
Does Crazy Egg work with secure (https) sites?

Yes we support secure sites. The tracking script can automatically detect if the page is secure and uses a secure version of the tracking script.

Can I track a password protected page?
Can I track a password protected page?

For password protected pages or to track pages in an intranet you will need to use the Crazy Egg Page Camera feature, found under the “options” tab.

Crazy Egg Page Camera is a desktop application that allows you to take snapshots of non-public pages. By taking the snapshot yourself, you can track pages that are accessible only to logged-in users or pages that can only be reached from within your internal network.

Installation instructions:

  • Page Camera requires the latest version of Adobe AIR.
  • Once AIR is installed, click the download button to get the latest version (PageCamera-1.0.3.air).
  • Once the application is running, click help for basic usage instructions.
Will each page require a different tracking code?
Will each page require a different tracking code?

Each account only has one tracking code. So your code will always be the same. Every time you add a new page to track, the system will give you a code, but it will always be the same. So if you retest a page, you will not have to change the code on that page.

Can I block my own visits from being counted?
Can I block my own visits from being counted?

Yes you can block your own visits by adding your IP. Under the “options” tab there is a blocking feature where you can enter the IP.

What happens when I reach my visit limit?
What happens when I reach my visit limit?

When you reach your monthly limit of visitors, Crazy Egg will simply stop tracking data until your visits get reset. If you can not wait until the 1st of the month for new visits, you can always upgrade to a higher plan.

What if I need more than 250,000 visits per month?
What if I need more than 250,000 visits per month?

We have custom plans for 500,000 visits, 1 million visits, and 2 million visits per month. Please contact us for more information about these plans.

How does your tracking script use cookies?
How does your tracking script use cookies?

Our script sets one cookie value in order to track whether a visitor is new or returning. A “returning” visitor is one that has previously visited any tracked page on your domain within the last 5 years.

The cookie is named is_returning and has a value of either 0 or 1. It expires 5 years from the date that it was set.

You can prevent Crazy Egg from setting any cookies by setting a Javascript variable named CE_NO_COOKIES to true somewhere on your tracked pages.

Billing Questions
How can I see my billing info?
How can I see my billing info?

Under the “your account” tab you will see the date and amount of your next auto-charge, as well as a link to your billing history and receipts.

Will I get receipts?
Will I get receipts?

You can set up your notifications under the “options” tab. Here you can select if you would like to receive receipt emails.

How can I cancel my account?
How can I cancel my account?

You can cancel your account anytime by going to the “your account” tab and following the link to “cancel my account”.

Can I reinstate a canceled account?
Can I reinstate a canceled account?

If you accidentally cancel your account, or decided to come back to Crazy Egg after few a months, you can still log into your account and reinstate it.

Can I pay by invoice?
Can I pay by invoice?

We accept payment by check, credit card, and wire transfer if you need to pay by invoice or purchase order. Please email us for further assistance with invoice payments.

Setting Up A Page to Track
How do I set up tracking for a brand new page?
How do I set up tracking for a brand new page?

In your dashboard, click on the “Add a New Snapshot” button. You’ll now be asked to enter in a page title. This doesn’t have to be your page’s exact title, just something that will help you remember it.

Next, you’ll need to enter in the exact URL of the particular page that you want to test. Select “customize url tracking rules” for more url options.

You’ll then be able to set the length of the time and the amount of visits you want to track for. Before you finish, add a description for your test, such as “testing new ad layout.”

To make changes in the future, you can always click on “edit this snapshot” from your dashboard.

How long should I track my page?
How long should I track my page?

This may depend on the amount of traffic you receive. For sites that do not receive a lot of daily activity, a longer length of time may be necessary to get a better idea of how the site is performing. If you have a very busy site, one week may be all the time you need to gauge how effective a new design or ad campaign has been.

If you are running an ad campaign for a specific amount of time, it’s a good idea to set the test to run before and a little bit after the campaign to get a better idea of overall performance.

It is really up to you as to how long your length of time should last. However, for the best results, we recommend at least one week.

Can I track a page that requires a login?
Can I track a page that requires a login?

For password protected pages or to track pages in an intranet you will need to use the Page Camera feature, found under the “options” tab.

Page Camera is a desktop application that allows you to take snapshots of non-public pages. By taking the snapshot yourself, you can track pages that are accessible only to logged-in users or pages that can only be reached from within your internal network.

Installation instructions:

  • Page Camera requires the latest version of Adobe AIR.
  • Once AIR is installed, click the download button to get the latest version (PageCamera-1.0.3.air).
  • Once the application is running, click help for basic usage instructions.
Can I use a plugin to add the tracking code?
Can I use a plugin to add the tracking code?

If you use Wordpress, you can you the Wordpress plugin, which makes it easier to install the script.

For Django Projects you can use the django plugin.

For Drupal sites you can use the drupal plugin.

For Magento sites open the Magento Admin area and navigate to
System→ Configuration→ Design→ HTML Head→ Miscellaneous Scripts
and paste the javascript code in there.

What are the customize url tracking rules, wildcard, and regular expression options?
What are the customize url tracking rules, wildcard, and regular expression options?

These options are advanced features that give you more control over which urls you want our system to track. If you are simply tracking your homepage and a few internal pages you will not need to use these options, and the default setting under url tracking rules will work just fine.

The customize url tracking rules gives you more control on http/https, subdomains, index page, and query strings.

The wildcard option should be used if you want to track multiple similar pages (templated sites) with one snapshot. For instance, if your site has a number of user profile pages whose URLs all start with http://www.mysite.com/users/, you could track all of them with the same snapshot by using a wildcard pattern like this: http://www.mysite.com/users/*

The regular expression option is also to track multiple similar pages with one snapshot, but it offers more control over URL-matching than wildcards.

I lost my code - what do I do?
I lost my code - what do I do?

In the top right corner of your dashboard, you’ll see a link that reads, What’s my code? Click this link to get your code again.

How do I track every page on my site?
How do I track every page on my site?

You’ll need to set up each page individually in your dashboard. You can place the code into your footer file or individually place it on each page.

Can the length of tracking a page be changed?
Can the length of tracking a page be changed?

Yes to edit the length, click on “edit this snapshot” from the dashboard.
You can then change the date or number of visits limit.

How do I set up position based tracking?
How do I set up position based tracking?

Sometimes you want an element to be identified based on its position relative to other elements rather than its content. For example, you might have three rotating or randomized images on a page that you want to identify in your reports based on which of the three was clicked rather than based on the image URL. You use the ceid attribute to track in this manner.

Using the ceid attribute

The ceid attribute forces Crazy Egg to identify an element using whatever you provided as the attribute value rather than the element’s content.

Here’s an example:

<img src="image_23894723.jpg" ceid="random_image_1" />
<img src="image_38947234.jpg" ceid="random_image_2" />
<img src="image_09834343.jpg" ceid="random_image_3" />

No matter what the value of the src attribute is for the first image, it will always be identified as random_image_1. The same goes for the second and third images; regardless of what their src is, they will always be identified as random_image_2 and random_image_3, respectively.

This approach works just as well with any other element type as it does with images. Use the ceid attribute whenever you need to override Crazy Egg’s default element identification procedure.

Using the -ce-capture CSS class

Sometimes using ceid is not practical or desirable. For instance, if you have a very large number of elements which you want to track based on click position, you would have to assign unique ceid attributes to each of them. There is another option to consider if you are more interested in the click position than you are with knowing the precise element that was clicked.

By giving an element the CSS class -ce-capture, you force all clicks within that element to be “captured” by it. This means that all clicks will be tracked as if they occurred on the element with the class -ce-capture, even if they actually occurred on a sub-element. This way clicks within that part of the page will always appear in your reports, regardless of whether or not the actual clicked element could be matched with an element in your snapshot.

To modify the example above to use -ce-capture instead, it is necessary to wrap the images in a containing element. In this case we will use a <div>. Notice that no ceid attributes were added:

<div class="-ce-capture">
  <img src="image_23894723.jpg">
  <img src="image_38947234.jpg">
  <img src="image_09834343.jpg">
</div>

With this markup, any clicks on the images will be reported as if they occurred in the <div>. In addition, those clicks will be positioned in your report relative to the <div> rather than relative to the clicked image.

There is a trade-off with this approach. While your reports will always show the precise position of clicks within the <div>, the list and overlay views of your reports would not include any click data for the images themselves.

How do I set the values of User Var 1, User Var 2, etc. in the confetti and overlay views?
How do I set the values of User Var 1, User Var 2, etc. in the confetti and overlay views?

You may have noticed the menu items called User Var 1, User Var 2 (and so on) in the confetti and overlay views of your reports. By default, no data is attached to these menu options. If you were to select User Var 1 from one of your own reports, you’d see that every click on confetti under that option is marked Unknown.

These variables are purposely left undefined so that you can fill them with your own custom data. For example, you could track clicks by logged-in users vs. clicks by unregistered visitors, or segment your visitors’ clicks by the number of previous clicks they made on the page. With a little Javascript code, you can categorize clicks on your pages just about any way you might want.

CE2.set

You set the value of a user variable with the CE2.set Javascript function:

CE2.set(userVar, value)

userVar: A number from 1 to 5
value: Any string value (it may be truncated if it is over 100 characters)

Example: CE2.set(1, 'some string');

Any clicks on the page will include the custom values you specified with CE2.set. Those values will appear in the confetti and overlay views of your reports.

You are not restricted to just calling set once, of course. You could fill up all 5 user vars:

function CE_READY()
{
  CE2.set(1, 'some string');
  CE2.set(2, 'another value');
  CE2.set(3, 'yet another value');
  CE2.set(4, 'more');
  CE2.set(5, 'and more');
}

You can also change a variable after it was initially set. In the sample code below, each click will have User Var 1 set to initial value. However, after a visitor clicks the image button.png, any subsequent clicks on that page will have User Var 1 set to clicked button:

<script type="text/javascript">
function CE_READY()
{
  CE2.set(1, "initial value");
}
</script>

<a href="javascript:void(CE2 && CE2.set(1, 'clicked link'))">
  link
</a.

Using CE_READY

As soon as Crazy Egg is initialized, it calls the Javascript function CE_READY, if it has been defined. Like the above examples, you should define a function named CE_READY and put your custom Crazy Egg code inside. This ensures that your code does not try to use the CE2 object before it has been defined, which would cause errors that would prevent your custom variables from being tracked.

How else can I customize how Crazy Egg tracks my page?
How else can I customize how Crazy Egg tracks my page?

Crazy Egg allows you to customize its tracking behavior in a wide variety of ways using Javascript:

  • Alter the click data that is sent to Crazy Egg to match your specific needs.
  • Track “virtual elements”, regions of the page whose size, position and other properties are entirely determined by you.
  • Tell our tracking script to ignore certain parts of the page (so that you can track them yourself).

 

Tracking clicks yourself

Use the CE2.click function to send click data to Crazy Egg. This function can be called in a number of ways:

CE2.click(element, x, y)

element: Either a DOM element or a virtual element
x: The x-coordinate of the click, relative to element
y: The y-coordinate of the click, relative to element

CE2.click(element, event)

element: Either a DOM element or a virtual element
event: A mouse event from element or one of its sub-elements; the x and y coordinates of the click will be derived from the event object

CE2.click(element)

element: Either a DOM element or a virtual element
(The click will be placed in the center of the element.)

Virtual elements

A virtual element is a rectangular region of the page that you define and track as if it were a regular page element.

Among other things, virtual elements might be employed to improve the tracking of clicks inside of an interactive Flash clip or <canvas> element.

Suppose you had a Flash video clip with play, pause, and rewind buttons. Normally all clicks on that clip would just be identified the same way, no distinction would be made between clicks on the different buttons it contained. If you were to set up an event handler so that, for instance, a click on the play button resulted in a call to CE2.click, Crazy Egg could track clicks on that button as if it were a normal HTML element. Click data specifically for the video control buttons would appear in the overlay and list views.

You define a virtual element by passing a Javascript object as the first argument to CE2.click. The object has the following format (many of the properties listed below are optional):

  var myElement = {
    // required fields
    left: 100,
    top: 120,
    width: 550,
    height: 400,
    
    // optional fields
    id: "unique_id",
    ceid: "unique_id",
    name: "human-readable name",
    data: "arbitrary string",
    parentID: "id_of_containing_element"
  }

  • The required left, top, width, and height properties specify the size and absolute position of the virtual element
  • CAUTION: If you provide a parentID, the top and left properties must be relative to the position of the parent
  • id has the same meaning as the HTML attribute of the same name; it should be unique to the page
  • ceid forces Crazy Egg to identify an element using only the ceid, ignoring any other property
  • name specifies exactly the name of this element in the list view of your report
  • data is any arbitrary data you want to provide that might help distinguish this element from another similar element
  • parentID is the ID of the parent element, if it has one

 

Preventing default click tracking behavior

There is a risk of creating duplicate click data when you are implementing your own tracking behavior. Two clicks could be tracked for each real click from a visitor: one by your custom code and another by the default Crazy Egg click handler.

You can tell Crazy Egg to ignore certain elements with the CSS class -ce-ignore. Simply assign this class to an element and our script will not track clicks on it or its contents:

<p class="-ce-ignore">
  Neither <em>this</em> paragraph,
  nor its <a href="a">child</a>
  <a href="b">elements</a>, will be
  <a href="c">tracked</a>.
</p>

If your element already has a class attribute, you can just add -ce-ignore as an additional CSS class:

<div class="sidebar -ce-ignore">
  ...
</div>

You can also mark elements as ignored via Javascript:

function CE_READY()
{
  var el = document.getElementById('ignore-me');
  CE2.ignore(el);
}

 

Other useful functions

The Crazy Egg tracking script provides a few utility functions that you can employ to help you implement custom tracking behaviors.

CE2.getBox(element)

element: A DOM element

Returns an object describing the size and absolute position of element. Example: {left: 353, top: 1114, width: 426, height: 36}

CE2.listen(target, event, function)

target: A DOM element
event: Name of the event to listen for, e.g. "click", "keyup", "load", etc.
function: The function to call when the event occurs

This is a very simple method of registering event handlers. Unlike a full-featured Javascript framework, this function passes only native event objects to the hander. Do not expect your event handlers to receive wrapped, normalized event objects. Use a full-featured Javascript framework if you require that feature. This function should suffice, however, if all you want to do is pass the event object to CE2.click.

A simple example

Suppose a page you are tracking displays three randomly selected images. Because a visitor to your page will almost always get a different set of images from those that the Crazy Egg agent saw when it took a snapshot of your page, only a portion of the clicks on those random images will appear in your heatmap and confetti reports. (Data for all clicks would still be available in the overlay and list views.)

You can use the Javascript API to work around this limitation and see the position of all clicks on all random images. One approach is to interrupt the normal click-tracking behavior on the images in question. The sample code below changes which page element was reportedly clicked. Any click on a random image will be tracked as if it had actually occurred on the containing element.

Why do this? Because a click on a “known” element (one that was recorded in the page snapshot) will always show up in the heatmap and confetti views. The images’ parent tag (the <div> tag in the following HTML snippet) is an element that we can be sure is a known element, unlike the randomly-selected images it contains. By associating clicks on the images with their parent element instead, we are ensuring that those clicks will appear on the heatmap and confetti views regardless of which image was actually clicked.

HTML:

<div id="random_images" class="-ce-ignore">
  <!-- these images are randomly selected -->
  <a href="image_3432"><img src="image_3432.jpg" /></a>
  <a href="image_9239"><img src="image_9239.jpg" /></a>
  <a href="image_1244"><img src="image_1244.jpg" /></a>
</div>

Javascript:

<script type="text/javascript">
function CE_READY()
{
  // get a reference to the random_images element
  var imageContainer = document.getElementById("random_images");

  // define the click event handler
  var handler = function(event)
  {
    // record the click as if it occurred on imageContainer
    // even if it actually occured on one of the images
    CE2.click(imageContainer, event);
  }

  // register the handler
  CE2.listen(imageContainer, "click", handler);
}
</script>
How do I manually verify that the tracking script is working?
How do I manually verify that the tracking script is working?

The script check tool does not always work on all pages. It is possible to check for yourself whether or not your page is being tracked, but doing so requires a little more effort and technical knowledge.

You will need to use a browser that has support for tracking the web requests it makes. Chrome, Safari, IE 9, and Firefox 4+ have this feature. Older versions of Firefox can also track requests, but you must have the Firebug extension installed.

On any page that is being tracked, the following requests occur when you visit the page:

User script

A request will be made for a script with a URL similar to
http://dnn506yrbagrg.cloudfront.net/pages/scripts/0000/0000.js

Tracking script

The user script will initiate a request for one of the following

http://trk.cetrk.com/t.js
http://trk.cetrk.com/tu.js

On SSL-encrypted pages it will instead make a request for one of these

https://s3.amazonaws.com/trk.cetrk.com/t.js
https://s3.amazonaws.com/trk.cetrk.com/tu.js

Clicks and scroll events

The tracking script will make requests for these files as you click or scroll up and down the page

http://trk.cetrk.com/c
http://trk.cetrk.com/s

From SSL-encrypted pages, clicking and scrolling will instead result in requests to the following

https://s3.amazonaws.com/trk.cetrk.com/c
https://s3.amazonaws.com/trk.cetrk.com/s

Using the Crazy Egg Dashboard
What does the "dashboard" represent?
What does the "dashboard" represent?

When you first load your dashboard page, you’ll see a list of all of the pages that you are currently tracking. If you click on the title of each page, it will drop down and you will then see the following information:

Under the title of your page you will see the actual url of the page, as well as links to different features such as editing the page info, stop/resume tracking, updating the snapshot, and deleting the snapshot.

You will also see the date you started tracking a page, and the date we last updated the data for that page. Under that you will see the number of visit limit that you had set when you set up the page for tracking.

At the bottom right you will see a “view results” button. This will open up the actual results that will provide you with information on how many clicks you’ve received and where your visitors are clicking. The overlay, list, heatmap, and confetti are accessed through this button.

Why would I need to delete a test?
Why would I need to delete a test?

If you’re done with your current test, and you need to make room for another one, you can delete this old information. Our different accounts will allow you to save a specific amount of snapshots for each test, so we offer the ability to delete old tests if you need more room on your account.

What do "Test a new version" and "Update this snapshot" do?
What do "Test a new version" and "Update this snapshot" do?

The “test a new version” feature will create a new snapshot for your page. The previous snapshot and data will be stored as a saved snapshot, and all new data that is collected will be added to a new snapshot.

The “update this snapshot” feature allows you to update the image of the screenshot we have for your page. This is useful for blogs or sites that have made minor changes and still want data to accumulate on the same snapshot. The image will be updated and all previous data will be placed against the new image.

How do I add a new page to track?
How do I add a new page to track?

In the top right of your dashboard, you’ll see an orange button. Click this button to add a new page and get your code to begin tracking its performance.

How do I know how many visits I have left on my account each month?
How do I know how many visits I have left on my account each month?

We’ve made it very easy to keep track of how many total visits you’ve had for all of your pages. At the very top of your dashboard page, you’ll see a gray bar with this information inside. You’ll see how many visits you’ve had and how many you have left under your account for that particular month.

Can I rearrange the order of my snapshots?
Can I rearrange the order of my snapshots?

The snapshots can be ordered by name, date, or status by clicking on the headings of those columns.

Why does the status for my page say "stopped"?
Why does the status for my page say "stopped"?

When you setup a page for tracking you enter an expiration date and visit limit. Once either of these limits is reached, the snapshot will stop collecting data, and the status will change from “running” to “stopped”.

If you want to resume tracking data for your page, you can click on “edit this snapshot” and increase the expiration limit, this will reactive the snapshot and data will continue to accumulate on that snapshot. Or you can click on “test a new version” and we will start collecting data on a brand new snapshot for that page.

When do my monthly visits reset?
When do my monthly visits reset?

Everyone’s visits reset on the 1st of the month, regardless of your billing cycle.

Viewing Results
What is the heatmap?
What is the heatmap?

The heat map is a visualization of where your visitors are clicking. The brighter the area, the more popular it is. The darker the area, the less popular it is. As a specific area of your site gets more clicks, its color on the heat map will change.

What is the scrollmap?
What is the scrollmap?

The scrollmap shows which parts of the page are viewed most often by your visitors. The brightest areas have been viewed the most number of times and the darker areas have been viewed the least.

Can I compare two different heatmaps?
Can I compare two different heatmaps?

Yes you can compare the results from 2 different heatmaps or scrollmaps side by side. While viewing the heatmap click on the “snapshots” list at the top right, and then select the “compare” button. This will open up the second heatmap.

How do I see the results?
How do I see the results?

In the dashboard, next to the thumbnail image of your page, there will be a “view results” button once we have collected data. Once you click on that link it will take you to the reports.

What data does the overlay show?
What data does the overlay show?

When you load the overlay in your result, you’ll see several small buttons with plus signs on them. They are color coded to make it easier to see which areas are more popular. For example, a blue button indicates that the area is not as popular as an area marked with a red button.

Click on each button or marker to maximize this marker and to see how many clicks this area has received. Alternatively, you can also hold your mouse cursor over the button to see how many clicks each area has received.

If you want to see how many clicks a specific link has the overlay is the best place to find this info.

The overlay can be segmented into “live”, “other”, and “both”. Clicks that correspond to the live elements on your site such as links, images, and buttons will be seen under “live”. Clicks that correspond to text, white space, and non-live elements will be seen under “other”. The plus sign markers under “other” will all be shades of gray. If you want to see the combined data you can select “both”.

What is the list view?
What is the list view?

The list feature makes it very easy to see all the elements that got clicks. The element name and type are taken directly from the code of your page, so you can easily identify the items.

The list view can be exported, there is a link at the top right of the list view.

The list view has 3 tabs: visible, not visible, and both. The “visible” data is the click data which is also seen in the overlay, heatmap and confetti reports. The “not visible” data is the click data that our system could not visually display in the other reports because it had trouble visually identifying where the clicks took place (such as clicks on dynamic content or within drop down menus). The data under “both” combines the visible and not visible sections.

How do I download my reports?
How do I download my reports?

When viewing your report at the top right you will see an “export” link. You can export all the report except the overlay view.

Why is my data showing as "not visible"?
Why is my data showing as "not visible"?

In the current version of CrazyEgg, our reports work by making a duplicate (a code snapshot) of your webpage while your CrazyEgg test is running. We then compare that downloaded code to the elements that people actually click.

We track almost everything.
But, some things are only counted on the “not visible” section of the list view.

When you view the ‘not visible’ or ‘both’ lists, it’ll show you every element on that page that was clicked, whether or not it’s in the source code of the page.

This happens when there are elements clicked on your test page that can’t be found in the source when viewing the report.

This mostly only happens with very dynamic sites, or sites with AJAX or DHTML generated content.

This can also happen with elements on a page that are extremely similar to other elements on the page. In this case, adding a unique id attribute to the unidentified element in the source code to your page may help.

AJAX content?

Unfortunately, pages that use a lot of AJAX aren’t reported on as well as pages that have purely static links and content.

Since the dynamic content isn’t in the source code of the page when we make our code snapshot, it can’t be matched up to the elements that people actually click.

And then, when we load up our snapshot of your page in the reports, your AJAX won’t fire. This is because we use our own domain to host the snapshots and browser cross-domain rules prohibit cross-domain AJAX.

The good news is that we are tracking all those clicks. But the bad news is that the data will only show up in the not visible section of the List not the Overlay nor the Heatmap.

We are working on some more advanced technology that will allow us to track and display dynamically generated and AJAX elements in the future.

Why are my rollover images being marked as 'not visible'?
Why are my rollover images being marked as 'not visible'?

This problem is usually caused if you use javascript rollovers that change the url of an image before you can click it.

What happens is that the actual image clicked doesn’t exist on the page until you hover over it. Since hovering over it triggers your javascript which changes the url for the image.

Crazyegg needs to match the image your visitors actually clicked to the code on your page. If it can’t find that same image on your page, then it marks it as not visible.

If you move to a css :hover based rollover effect instead of javascript it won’t confuse our reports.

Just make a normal A tag, give it a background image, and then add a css rule like a:hover that changes the image url.

That way the actual thing your users click is an A tag, and it doesn’t care what the style is.

What is that cog widget icon in the top right menu?
What is that cog widget icon in the top right menu?

The cog is a great little tool that will close all of your open overlay markers at once, to help you save time.

How can I set up the campaign source info in the confetti view?
How can I set up the campaign source info in the confetti view?

When an incoming link to one of your tracked pages has been manually tagged with campaign information in the manner specified by the Google Analytics documentation, Crazy Egg processes and displays that information in the Confetti report for that page. This allows you to associate clicks with a campaign source, medium, term, etc.

You can get help embedding campaign information into your links by using Google’s URL Builder tool.

Note: Users of both Google Analytics and AdWords should be aware that simply enabling auto-tagging will not allow Crazy Egg to track campaign information. Auto-tagging does not add the campaign information to incoming URLs that our tracking script needs in order to associate a click with an AdWords campaign.

If you use Google Analytics to track your online advertising campaigns and you use Google AdWords, Crazy Egg will automatically track campaign information from incoming visitors. For this to work automatically, you must make sure your Adwords and Analytics accounts are linked. Google provides documentation you can use to learn more about campaign tracking.

When a visitor arrives at your site via one of your Google ads, our tracking script will pull out the campaign source, medium, term, content, and name from the URL and include that information in your Crazy Egg reports.

Even if you don’t use Google Analytics or AdWords, you can still embed campaign information into your advertisement links with Google’s URL Builder tool. Instructions on the URL-Builder page also briefly explain the significance of the campaign source, medium, term, content, and name.