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.