Reach out with questions, bugs, or suggestions. We'll respond ASAP. Your message is sent! We'll respond via email shortly.

Web Troubleshooting

Having trouble installing Heap? Here's a list of some typical things to look out for. If your issue isn't addressed here, please email us at support@heapanalytics.com.

I can't get the Event Visualizer to work. Why?

Adblockers, Blocking 3rd party cookies, Internal Firewall

There are a few reasons this might happen. The most common is content or ad blockers. These extensions or plugins can prevent Heap from loading the JavaScript files we need for the Visualizer. If this is happening, you'll usually see errors in your Developer Console. They'll look something like this along with a reference to cdn.heapanalytics.com:

Failed to load resource: net::ERR_BLOCKED_BY_CLIENT

Make sure that you whitelist *.heapanalytics.com in any/all ad blockers. A quick way to test if any ad blockers are preventing Heap to load on a page is to open your page in an incognito window.

In the same way adblockers can prevent Heap JavaScript from loading, so can blocking 3rd party cookies in your browser, or even at a firewall. Check your browser settings, or with your systems administrator, to see if this is causing problems.

Incorrect Heap snippet placement

The Heap snippet should be installed directly on the page just before the </head> tag. If loading the snippet in the <body> it's possible that the snippet isn't getting loaded before the Visualizer times out.

Typos in the Heap snippet

If you received the snippet copy/pasted into an email, or other document, it's easy for typographical elements of the snippet to get reformatted. For example, ending up with curly double quotes instead of straight quotes, or + signs getting stripped. If in doubt, copy/paste the snippet directly from the developer documentation for your app.

Rocketscript

If you're using Cloudflare, it will try to load JavaScript with rocketscript, which compresses, concatenates, and defers any JavaScript on your web pages. It also prevents the Heap snippet from loading properly! Instructions are here for turning rocketscript off for Heap.

Content Security Policy

If you have a Content Security Policy, include these directives in your CSP for Heap's Visualizer to work correctly:

script-src *://cdn.heapanalytics.com *://heapanalytics.com 'unsafe-inline'; img-src *://heapanalytics.com; style-src *://heapanalytics.com; connect-src *://heapanalytics.com; font-src *://heapanalytics.com;

The first 'script-src' is for the installation snippet and identify API (hence the two domains). 'img -src' is for our collector, and the final three, 'style-src', 'connect-src', and 'font-src' are for the Event Visualizer.

My snippet is installed but I'm not getting data. What gives?

Data Latency

We open your Heap dashboard once data from your users hits our servers so you're not faced with an empty page. Usually this happens in a matter of minutes, but sometimes it's longer. We call this latency. Normal latency is under 30 minutes. Anytime beyond this, please feel free to contact us at support@heapanalytics.com

Missing app_id

When copy/pasting the snippet, be sure you have code that includes your app_id in heap.load(). If you get the snippet from the install page after you sign up, or from our developer docs while logged in, this won't be problem. However, if you copy a version while logged out, you might end up with heap.load("YOUR_APP_ID") which won't work!

Incorrect app_id

If your Heap account holds more than one project or environment, make sure that the correct app_id is included in the <script> so that data is being sent to the correct place. To confirm the app_id in Heap. Go to Settings > Projects. Each environment has an id in parentheses. Double check that the Heap snippet reflects the same app_id in the heap.load() call in the script on your site, or by typing heap.appid in the developer console.

Rocketscript

If you're using Cloudflare, it will try to load JavaScript with rocketscript, which compresses, concatenates, and defers any JavaScript on your web pages. It also prevents the Heap snippet from loading properly! Instructions are here for turning rocketscript off for Heap.

iOS Troublehooting

Our iOS installation is designed to be as effortless as possible, but occasionally there are installation issues for some apps. If your issue isn't addressed here, please email us at support@heapanalytics.com.

It's good practice to keep your iOS SDK up to date. You can find the version number in Heap.h.

Cocoapods “Undefined symbols for architecture armv7s: OBJC_CLASS$_Heap”

This compiler error means that the Heap static library isn't being linked into your app. The most common cause of this is an overridden LIBRARY_SEARCH_PATHS in your project. If you have any values in this setting, make sure $(inherited) is the last entry.

Empty screen views and no events

This can occur when parts of the Heap library aren't loaded at runtime. Usually, adding the -all_load and -ObjC flags to Other Linker Flags will resolve this issue.

Crash log includes heap_sendEvent

To capture all events, Heap installs a method swizzle on UIApplication that captures the event before passing it off to the original listener. So if the event listener causes a crash, Heap will still appear in the stack trace even though Heap is not at fault. However, if you think Heap caused a crash, please send us the crash report and we'll look at it immediately.