VoidhashDocs
DevelopersHelp centerGuidesAPI reference
Dashboard
Help center
Get started
Get access to Studio
Find your way around Studio
Glossary
Files and bots
Files and boards
Bots
Analytics
Analytics overview
Reports
Chart reference
Metric definitions
Insights and dashboards
Query with VoidQL
Alerts
Check your data
Ads
Ad measurement
Connect Meta Ads
Send purchases to Meta
Ads reports
People
Find and help a person
Refunds and cancellations
Products
Set up products and perks
Paywalls
Design a paywall
Prices and buttons
Design for every device
Onboarding flows
Translate a paywall
Fonts and images
Paywall components
Build and deploy
Paywall locations
A/B testing
Feature flags
A/B tests
Automations
Automations
Push notifications
Settings
Payment providers
Manage projects and teams
Members and roles
SSO and directory sync
Notices
Plans and billing
Audit log
Your account
Help
FAQ
Troubleshooting

Check your data

Confirm that events, purchases and webhooks reach Voidhash complete and on time.

Two Studio pages tell you whether your data can be trusted. Activity → Analytics events shows single events as they arrive, which helps while an app is being set up or tested. Analytics → Data health shows whether data keeps arriving complete and on time once the app is live.

Watch events arrive

Activity → Analytics events lists the latest events of the selected environment, newest first, 100 at a time, up to the latest 500, with Event name, Event ID, Person and Received. Select an event name to see its details:

  • Event time, Received at and Processed at.
  • The Person, their Distinct ID, and for a sign-in, the Previous distinct ID they had before.
  • Properties and Context: the details your app and device added.

Show more loads the next 100. Past the latest 500 it stays on the page but shows nothing older.

The page doesn't update while you watch; it refreshes when you come back to the tab, or reload it.

To check a new app version end to end:

  1. Open the app or website, on a build that matches the environment you're viewing.
  2. Do something that records an event, such as opening a screen.
  3. Find the event in Analytics events, select it, and check its person and properties.
  4. Sign in to the app and check that later events show the same Person.

The Data health page

Analytics → Data health follows the page's range and filters.

  • Events by name: events stored per period, for your 8 busiest events. A sudden drop usually means a release broke tracking.
  • Rejected events: events that reached Voidhash but couldn't be stored, by reason. Look into anything above zero; see Rejected events.
  • Event delay: time from an event happening to reaching Voidhash. A long tail is normal for apps used offline.
  • Coverage of payers: paying people the app never recorded any event for, and their share. They declined analytics, or the app signs them in with a different ID than their purchases use.
  • Webhook success: the share of delivery attempts your own servers accepted, retries included. Anything below 100% is worth telling your developers.
  • Webhook response time: how fast your servers answer. Slow answers risk failed deliveries.
  • Store notification delay: time from a store or Stripe reporting a purchase to Voidhash processing it. Long delays mean purchases show up late. An empty chart can mean store notifications aren't set up.

Coverage of payers covers all time in production, not the selected range. The webhook and store notification charts show the same data in every environment.

Rejected events

The Rejected events chart groups events by reason:

ReasonMeaning
schema_rejectedThe event was malformed, for example without a person ID.
reserved_event_nameThe app sent a name only Voidhash may record, such as a purchase event.
policy_rejectedSettings → Events blocks the event, or event collection is off for the project.
processing_failedVoidhash couldn't process the event. Contact support; these can be recovered.
Other reasonsVoidhash couldn't read what the app sent. Ask your developers.

Events from people who declined analytics, and from bots, are dropped before they're counted, so they never appear here.

Settings → Events chooses which built-in events the project stores, and can block an event by name. Turning off an event you rely on empties the reports that use it. Changing it needs an admin or the owner.

Settings → Events in Studio, with a switch for each built-in eventTurn off a built-in event to stop keeping it

If something's off

  • No events at all: you're viewing another environment, or the app uses the wrong key. Check the environment in the project switcher, then ask your developers.
  • Events but no revenue: the store isn't connected, or its notifications don't reach Voidhash. Ask an admin to check Settings → Payment providers; see Payment providers.
  • Payers without events: people declined analytics, or the app signs people in inconsistently. Ask your developers to identify people (developer docs) the same way.
  • An event's count dropped after a release: the new version stopped sending it. Compare Events by name with the release marker, and add an alert.
  • reserved_event_name rejections: the app sends its own purchase events. Ask your developers to remove them; Voidhash records purchases itself.

For developers: follow events live from the CLI, and see the developer troubleshooting guide.

Next steps

  • Set up alerts
  • Troubleshoot numbers that look wrong
  • Events (developer docs)

Still stuck? Check Troubleshooting, ask us on Discord, or email support@voidhash.com on a paid plan.

Something wrong or missing on this page? Tell us by email or on Discord.

PreviousAlertsNextAd measurement

On this page

Watch events arriveThe Data health pageRejected eventsIf something's offNext steps