> ## Documentation Index
> Fetch the complete documentation index at: https://docs.masivo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Activity & events

> What happens to customer data when a user purchases or triggers an event

# Activity & events

Purchases, custom events, and tracking events from your app follow **different paths** depending on event type and configuration. Not every event updates the wallet or audience membership.

<Frame caption="Loyalty events vs tracking-only events">
  ```mermaid theme={null}
  %%{init: {
    "theme": "base",
    "themeVariables": {
      "primaryColor": "#050509",
      "primaryTextColor": "#e5e4e7",
      "primaryBorderColor": "#c084fc",
      "secondaryColor": "#050509",
      "secondaryTextColor": "#e5e4e7",
      "secondaryBorderColor": "#c084fc",
      "tertiaryColor": "#050509",
      "tertiaryTextColor": "#e5e4e7",
      "tertiaryBorderColor": "#c084fc",
      "clusterBkg": "#08080e",
      "clusterBorder": "#c084fc",
      "fontSize": "16px",
      "fontFamily": "inherit",
      "lineColor": "#94a3b8"
    },
    "flowchart": {
      "htmlLabels": true,
      "curve": "basis",
      "padding": 20,
      "nodeSpacing": 48,
      "rankSpacing": 56
    }
  }}%%
  flowchart TD
    A["User action<br/>purchase, page view, custom event"] --> B["Validate event & consent"]
    B --> C{Tracking only?}
    C -->|Yes| T1["Analytics & dashboard reports"]
    C -->|Yes| T2["Sync to connected tools"]
    C -->|No| D["Apply campaigns<br/>coupons, punch cards, referrals"]
    D --> E["Update wallet & tier"]
    E --> F["Refresh metrics & traits<br/>for segmentation"]
    F --> G["Re-evaluate audiences<br/>enter or leave segments"]
    B --> H["Queue matching journeys"]
    H --> I["Journey messages<br/>email, push, WhatsApp, in-app"]
    G --> J["Sync to connected tools"]
    E --> K["Webhooks to your app"]
    E --> L["Dashboard reports"]
  ```
</Frame>

<Note>
  Journeys are queued as soon as a matching event arrives. Audience re-evaluation runs after the loyalty commit. Both can happen from the same event, but not always in that order.
</Note>

## Two event paths

### Loyalty events (full processing)

Reserved types such as `PURCHASE` and `REGISTRATION`, plus custom events configured to trigger campaigns, run the full pipeline:

* Campaign matching (behavior, punch cards, score streaks, referrals)
* Wallet and tier updates
* Metrics, RFM, and computed traits on the profile
* Audience membership changes (identified customers only)
* Webhooks (`CUSTOMER_ACCUMULATION`, `CUSTOMER_REDEMPTION`, `TIER_UPGRADE`, etc.)
* Destination sync and dashboard analytics

Events are rejected with **no loyalty processing** when the customer has `behavioral_campaigns: false` in consent (see [Privacy & consent](/resources/data-architecture/privacy)).

### Tracking-only events

Custom events marked as tracking-only (or default tracking triggers) **do not** update the wallet or run loyalty campaigns. They still feed:

* Dashboard analytics
* Real-time destination sync (when integrations are connected)
* Journey evaluation if the event type is used as a journey trigger

Use tracking-only events for high-volume behavioral signals (page views, app opens, button clicks) without affecting points or tiers.

## Typical events

| Event type | Examples                            | Typical path                  |
| ---------- | ----------------------------------- | ----------------------------- |
| Commerce   | Purchase, checkout                  | Loyalty (full)                |
| Engagement | App open, page view, button click   | Tracking-only or custom       |
| Loyalty    | Registration, tier change, referral | Loyalty (full)                |
| Custom     | Any event you define                | Depends on your configuration |

## What Masivo updates (loyalty path)

* **Wallet and tier** — points, balances, and level changes from your program rules.
* **Profile attributes** — metrics, RFM, and computed traits used in audience conditions (e.g. last purchase date, total spend).
* **Audience membership** — identified users enter or leave segments in near real time; scheduled jobs also remove members who no longer match.
* **Journeys** — automated messages when entry conditions match the event or audience rules.
* **Connected tools** — purchase and behavioral data can flow to ad platforms, CRM, or your data warehouse.
* **Your webhooks** — reward and tier change notifications to your backend.

## Anonymous users

Anonymous customers can emit events and earn loyalty rewards, but **realtime audience evaluation is skipped** until they identify themselves. Plan segmentation and journeys accordingly.

## Related guides

* [Send an event](/api-reference/guides/send-an-event)
* [Track customer activity](/guides/track-customer-activity)
* [Create journeys](/guides/create-journeys)
* [Events in the CDP](/guides/CDP/events)

[← Back to overview](/resources/data-architecture)
