skills/analyst-event-tracking/SKILL.md
Configuration of custom events, purchase logging, session tracking, and uninstall detection.
npx skillsauth add delta-and-beta/braze-agency analyst-event-trackingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
★ Insight ─────────────────────────────────────
─────────────────────────────────────────────────This skill covers Braze data instrumentation: how events, purchases, sessions, location data, and uninstall signals are captured, attributed, and validated. Use this skill when reasoning about what data Braze is collecting, whether it's being collected correctly, and how that data feeds into segmentation, campaigns, and Canvas triggers.
This is a data instrumentation skill, not an SDK integration guide. The perspective here is analytic accuracy — ensuring the data model is sound before building on top of it.
Every topic in this skill is viewed through one question: Is the signal trustworthy for downstream use?
Custom events are the primary behavioral signal in Braze. They trigger campaigns, Canvas steps, and populate segments.
| Platform | Method |
|---|---|
| Web | braze.logCustomEvent(name, properties) |
| iOS/Android | Braze.logCustomEvent(name, properties) |
Analyst considerations:
Purchase_Complete and purchase_complete are different eventsPurchase events carry revenue attribution. Braze treats them as a distinct event type with built-in fields.
Required fields: product_id, currency (ISO 4217), price
Optional: quantity, properties
Analyst considerations:
price is per-unit; total revenue = price × quantityproduct_id is the join key if reconciling against an external product catalog; use stable IDs, not display namesSession tracking defines engagement depth. Braze auto-tracks sessions via SDK, but the definition matters.
Web SDK inactivity timeout: 30 minutes — a session ends after 30 minutes without any SDK-tracked event. Each tracked event resets the timer.
What counts as session activity:
Analyst considerations:
openSession/closeSession callsLocation data enables geo-targeting and location-based triggers.
Analyst considerations:
location_available = true before building geo-targeted campaigns to avoid sending to users with no location on fileUninstall detection relies on silent push probes — Braze sends a silent push and marks a user as uninstalled if delivery fails.
Analyst considerations:
| Problem | Symptom | Root Cause |
|---|---|---|
| Duplicate events | Inflated event counts | Event fired on both client and server |
| Missing properties | Cannot filter segments | Properties not passed at log time |
| Currency mismatch | Broken LTV totals | Different currencies logged per platform |
| Session inflation | Sessions >> DAU | SDK openSession called redundantly |
| Stale location data | Geo-segments over/undercount | Location only updated at app open |
| Uninstall false positives | Re-engagement to churned users | Push-disabled users flagged as uninstalled |
★ Insight ─────────────────────────────────────
─────────────────────────────────────────────────development
Cross-platform audience synchronization design across advertising platforms including Facebook, Google, TikTok, LinkedIn, and programmatic networks.
development
Defines cross-cutting API patterns for authentication, provisioning, preference management, and content delivery.
development
Covers API basics, authentication, rate limits, error codes, endpoint overview, data retention policies, and Postman collection usage.
development
Integration architecture for AI model providers including OpenAI, Google Gemini, and Anthropic within Braze messaging workflows.