Debug a Missing Event
Step-by-step guide to diagnosing why an event isn't showing up in your Hardal signal dashboard.
You fired an event on your site and it's not appearing in Hardal. Here's how to find out why.
Step 1 — Verify the script is loaded
Open your site in a browser and open DevTools (F12 or right-click → Inspect).
In the Network tab, filter by hardal. You should see a request to your signal endpoint loading the script. If you see nothing, the script isn't installed or is being blocked.
Check the script tag
Open DevTools → Elements and search for data-website-id. Confirm the script tag is present in the <head> and that data-website-id matches your actual Signal ID from Settings → Setup.
Check for console errors
Open DevTools → Console. Look for any errors referencing hardal or usehardal.com. A 404 usually means the Signal ID is wrong; a CORS error usually means the custom domain isn't configured yet.
Verify auto-tracking
In the DevTools Network tab, look for requests to your signal endpoint after page load. With data-auto-track="true", a page_view event fires automatically. If you see a network request to your signal endpoint, the script is installed correctly.
Step 2 — Verify the event fires
If the script is loading but a specific event is missing:
Open the Hardal Events dashboard
Go to Analytics → Events in your signal and set the date range to Today. Make sure All Events is selected in the filter dropdown.
Trigger the event
In a separate browser tab, perform the action that should fire the event — add a product to cart, complete a purchase, submit a form.
Watch the live counter
Return to your Hardal dashboard. The event counter in the top-right of the Overview page updates in real time. Check the Events page for a new row matching the event name and timestamp.
You can also test from the browser console. With the Hardal script loaded on your site, open the console and type:
hardal.track('test_event', { source: 'debug' })
If this fires and you see test_event appear in your Events dashboard within a few seconds, the SDK is working correctly. The problem is with how your specific event is being triggered.
Step 3 — Verify the event payload
If the event is reaching Hardal but a destination isn't receiving it:
Open the Events detail panel
In Analytics → Events, find the event row and click it to open the detail panel. Check the Parameters section — does the payload contain the fields your destination expects?
Check your destination allowlist
Go to Destinations, select the destination that's not receiving the event, and verify the event name is in the allowlist. If it's not listed, the destination won't receive it — even if it's arriving at Hardal.
Check the activity feed
Still in your destination settings, open the Activity Feed. Look for delivery attempts matching the event. A failed delivery with an HTTP error code tells you exactly what went wrong on the destination side.
Common causes
| Symptom | Most likely cause | Fix |
|---|---|---|
| No events at all | Script not installed | Add script to <head> with correct Signal ID |
| Page views only, no custom events | hardal.track() not called | Add event tracking code at the relevant user action |
| Event in Hardal but not in destination | Event not in destination allowlist | Add event name to the destination's allowlist |
| Event in destination but with wrong data | Field mapping mismatch | Check field mapping in destination settings |
| Intermittent events | Race condition — script not loaded before track call | Move script tag earlier in <head> or defer tracking call |