Events

View every user event with per-integration delivery status, search, filters, and export.

The Events report shows every monetization-relevant event of an individual user in your app — purchases, trials, subscription state changes, and user creation — with the full integration delivery status per event. Use it to drill into specific transactions, audit when each event was sent to every connected integration, and export filtered slices for downstream analysis or support tickets.

Find Events in the sidebar menu at the top level.

Apphud - Events list
📘

Looking for the list of event types Apphud creates?

See Event Types for the full catalog — every event name (Trial stated, Subscription renewed, Paywall shown, etc.), when it fires, and which are iOS-only or deprecated.
For event payload fields in integrations (revenue, country, product, etc.), see Event Parameters and Properties.

Choose what to view

Three controls at the top of the page define the scope of events shown. They sit outside the Add filter panel because they're the page's primary view selectors.

Events View - Choose Environment, cohort or calendar, and time period

View events from

Choose which user environment is included:

  • All users — production and sandbox users together.
  • Production users — only events from production users.
  • Sandbox users — only events from sandbox users.

where

Choose which timestamp the date range applies to:

  • Event occurred at — the event's own timestamp. Use this to see what happened during a period, i.e. for calendar type of analysis.
  • User first seen at — the timestamp the user first appeared in Apphud. Use this to scope to cohorts (e.g., "all events from users who first appeared in the last 7 days").

between

Standard date range with presets and a calendar — see Common controls → Period.

Search

The search field above the table accepts:

  • User ID
  • Device ID
  • Transaction ID
  • IDFA

Paste any one of those to jump straight to the matching event(s).

📘

Searching by a merged user's ID

If a user was merged into another, you can still search by their previous User ID — it resolves to the surviving user. On merge, all events are reassigned to the surviving user, so the result shows the full combined history. Note: events appear under the surviving user's current ID, not the one you typed. See how user merging works.

Event Filters

Click Add filter + to scope events by additional parameters. The filter dialog groups parameters into five categories.

📘

Events filters vs Users filters

As these two surfaces have different nature they have different filter sets.

Events list has no Attribution, no Custom User Properties, no Experiment, no User lifetime / OS version / Install month filters, etc.
Users list has no Event-type, no Integration connection filters, etc.
Pick the surface that matches the question.

General

ParameterType & Description
EventMulti-select from the full Apphud event list (e.g., Subscription started, Subscription renewed, Intro converted) — scopes the stream to the selected event type(s). See Event Types for the full catalog.
PlatformiOS / Android / Web — the platform the event came from.

Purchases

ParameterType & Description
RevenueNumeric comparison (=, <, >) — the event's revenue amount in USD.
Family sharedSingle value — select to match purchases made through Apple Family Sharing.
Payment ProviderApp Store / Play Store / Stripe / others — where the purchase was processed.

User

ParameterType & Description
Country by IPMulti-select country list — the user's country detected from their IP address.
Store CountryMulti-select country list — the storefront country of the user's App Store / Google Play account.
AnonymousSingle value — select to match events from users not yet identified with your own User ID.
Install SourceMulti-select (App Store, Google Play, Flows, etc.) — how the user was acquired.
Install Source IdentifierFree-form text match (e.g. a Flow identifier).

Product

ParameterType & Description
Permission GroupMulti-select from your defined groups.
Product IDMulti-select from your products.
Product NameMulti-select from your product bundles as defined in Product hub.
PaywallMulti-select from your paywall IDs — events tied to the selected paywall(s).
PlacementMulti-select from your placement IDs.

Connections

The Connections category lets you scope events by integration delivery status. The filter parameter is the connection itself — every configured connection is listed by its custom Name (e.g. Adjust, Mixpanel, AppsFlyer iOS). Its options are the delivery statuses:

  • Sent — delivered successfully to that connection.
  • Failed — delivery to that connection failed.
  • Skipped — not sent (e.g. the event is disabled for that connection, an environment mismatch, or a user-level filter excluded it).
  • Pending — in flight or awaiting retry.

Pick a connection, check one or more statuses, and Apply filter to see only events with that delivery status for that integration. For example, select Adjust and check Sent to list every event that was successfully delivered to Adjust — useful for confirming "did this event reach Mixpanel, and did it succeed?" without opening individual rows.

📘

Boolean filters

Filters like Autorenewal, Expires in next 24h, Anonymous and Family shared expose a single value to select (e.g., Enabled, True). You pick it to match users who meet the condition — the filter can't be applied without choosing the value, and the opposite value isn't selectable.

For operator behavior, multi-select, predefined-vs-free-form, and chip mechanics, see Common controls → Filters.

Shared toolbar and table controls

The Events toolbar uses the same building blocks as other Apphud tables. Universal mechanics are documented once in Common controls; Events-specific behavior is documented here.

From Common controls (same as elsewhere)

Events-specific controls

  • Refresh — the circular-arrow icon next to the search field. Click to pull events that arrived after you opened the page. New events do not stream in automatically.
  • Export CSV — downloads the current filtered set as a CSV file. A confirmation dialog shows the exact row count: Export events (N). The export respects current filters, and sort order.
    However, not only visible, but all columns will be exported.
  • Pagination — at the bottom of the table:
    • Page navigation — 1–N of total with previous/next arrows.
    • Show per page — 50, 100, 250, or 500 rows per page.
📘

Permission required to export

Exporting detailed user-level data (CSV download from Events or Users & Audiences) is available to Owners and Admins of the company by default.
Regular team members with User role can export only if an Owner or Admin has granted them the relevant permission.

Table columns

The table has two pinned columns and many toggleable ones. Open Edit columns to change which are shown and to reorder them.

Pinned (always shown)

ColumnDescription
EventEvent name (e.g., Subscription renewed, User created).
TimeTimestamp the event occurred. Sortable.

Toggleable

ColumnDescription
Paywall IDInternal paywall ID associated with the event.
Placement IDPlacement identifier (e.g., Placement_Jane).
Product NameDisplay name of the product bundle.
Product IDProduct ID (e.g., com.apphud.weekly).
Transaction IDStore transaction ID.
Store countryFull country name from the store.
Store country codeISO code from the store (e.g., FR, EG).
Country by IPFull country name from IP.
Country by IP codeISO code from IP.
Gross revenueRevenue in original currency.
Gross revenue (USD)Revenue converted to USD.
Permission groupPermission group the product belongs to.
Event IDApphud's internal event ID — useful for testing connection configuration and support tickets.
Integration statusOverall status of the event across configured integrations (Sent, Error, Pendingm, Skipped). Click the row to see per-integration breakdown.
User IDUser identifier; opens the User Page in a new tab.
Sandbox users are prefixed with a </> icon for quick visual identification.

Integration delivery Status

Click on the value in Integration Status column for an event to see destinations it was sent to.

Events - connection delivery status

The opened pop-up with list all currently set up connection, and for each shows the event delivery status and the timestamp Apphud attempted delivery.

ColumnWhat it shows
ConnectionConnection name as configured in Apphud (e.g., Mixpanel, AppsFlyer iOS, FB (CAPI) iOS, Telegram).
StatusSent (delivered successfully), Error (delivery failed), Pending (in flight or awaiting required attribution), Skipped (per connection configuration it should not be sent).
(Timestamp)When Apphud attempted delivery.
(View details)Opens the per-event integration log for that connection — useful for troubleshooting errors.
Connection delivery details for Event

FAQ

Why does an event show "Error" for some integrations?

Common causes: misconfigured credentials on the connection, integration disabled in the destination, network error, or a payload the destination rejected. Click the event row to open Event details, then click View details on the failing connection for the specific error message.
For mitigation guidance, in documentation, navigate to the integration description and check Troubleshooting sections / FAQ.

What's the difference between "Event occurred at" and "User first seen at"?

  • Event occurred at filters on the event's own timestamp — "what happened in this period.". By applying this setting you'll get events from users of all possible cohorts in one view, filter will take into account just the calendar time period.
  • User first seen at filters on the user's first-ever timestamp in Apphud — "all events from users who first appeared in this period," regardless of when those events occurred. By applying this setting, you'll get the whole history of events for users that belong to the defined cohort.

Can I see all events from one specific user?

Yes. Paste the User ID, Device ID, or IDFA into the search field.

How do I share a filtered view with a teammate?

Click the Share URL icon in the top-right of the table. Apphud generates a unique URL (e.g., dash.apphud.com/<app>/share/e/<id>) that captures your filters, sort, and column selection. Send the URL — your teammate sees the exact same slice.

What does "Pending" mean in Integration status?

"Pending" means that Apphud has not sent this event to the integration yet — the event is queued and waiting to be delivered. Once it is processed, the status will change to Sent, Skipped, or Failed.

The most common reason for a "Pending" status is that Apphud is waiting for attribution data. Integrations like AppsFlyer, Adjust, Branch, Firebase, Facebook, or Tenjin require a matching device identifier (for example, an AppsFlyer ID or Adjust ID) to attribute the event correctly. If your app hasn't passed this identifier to Apphud yet, the event is put on hold and will be sent automatically as soon as the attribution data arrives from the device.

Other reasons include intentional send delays — for example, some events (like user_created) are sent with a short delay to make sure all related data is collected first, and some integrations have their own configurable sending delay.

If an event stays "Pending" for a long time, check that your app passes the attribution identifiers to Apphud (see the Attribution guide) — most "stuck" events are missing a device identifier required by the integration.

Are new events shown automatically?

No. The list shows what was loaded when you opened the page. Click Refresh (circular arrow icon) to pull events that arrived after.



Did this page help you?