Get the FREE Ultimate OpenClaw Setup Guide →

clix-event-tracking

Scanned
npx machina-cli add skill clix-so/skills/event-tracking --openclaw
Files (1)
SKILL.md
4.7 KB

Tracking Clix Events

Use this skill to help developers design and implement Clix event tracking via Clix.trackEvent(...) so events can drive event-triggered campaigns, audience filters, and personalization.

What the official docs guarantee (high-signal)

  • When to track: identify the user action/system event, then attach meaningful properties (funnel checkpoints, milestones, button taps).
  • Property normalization: booleans/numbers/strings map directly; date-like values serialize to ISO 8601; unsupported objects become strings.
  • Error handling: event tracking calls can throw—always handle errors so the app stays robust.

MCP-first (source of truth)

If Clix MCP tools are available, treat them as the source of truth:

  • clix-mcp-server:search_docs for conceptual behavior (campaign triggers, personalization)
  • clix-mcp-server:search_sdk for exact SDK signatures per platform

If MCP tools are not available, use the bundled references:

  • Event API contract + pitfalls → references/trackevent-contract.md
  • Naming + schemas + privacy → references/naming-and-schema.md
  • Implementation patterns → references/implementation-patterns.md
  • Campaign mapping → references/campaign-mapping.md
  • Debugging checklist → references/debugging.md

Workflow (copy + check off)

Event tracking progress:
- [ ] 1) Confirm platform(s) and goals (analytics vs campaign triggers)
- [ ] 2) Propose event plan (names, when fired, properties, where in code)
- [ ] 3) Validate plan (names, keys, types, PII constraints)
- [ ] 4) Implement trackEvent calls (platform-correct)
- [ ] 5) Verify: events fire once, serialize cleanly, match campaign configs

1) Confirm the minimum inputs

Ask only what’s needed:

  • Platform: iOS / Android / React Native / Flutter
  • Goal: analytics only, event-triggered campaigns, or both
  • Top flows (1–3): e.g., onboarding, checkout, subscription
  • PII policy: what must never be sent (email/phone/name/free-text, etc.)

2) Propose an “Event Plan” (before touching code)

Return a compact table the user can approve:

  • event_name (stable, snake_case)
  • when (exact moment the event fires)
  • properties (key + type, mark required vs optional)
  • location (file/function/UI handler/network response)
  • purpose (campaign trigger / analytics / both)

If campaigns are involved, remind: event names and property keys must match exactly in the Clix console.

3) Validate the plan (fast feedback loop)

Create event-plan.json in .clix/ directory (recommended) or project root:

Recommended location: .clix/event-plan.json

  • Organized: keeps tooling configs together
  • Hidden: doesn't clutter project root
  • Committable: planning document for team review

Alternative: event-plan.json in project root (simpler, but less organized)

For agents: Locate scripts/validate-event-plan.sh in the installed skill directory, then run it:

# From project root:
bash <skill-dir>/scripts/validate-event-plan.sh .clix/event-plan.json
# Or if in root:
bash <skill-dir>/scripts/validate-event-plan.sh event-plan.json

The skill directory is typically:

  • .cursor/skills/event-tracking/ (Cursor)
  • .claude/skills/event-tracking/ (Claude Code)
  • .vscode/skills/event-tracking/ (VS Code)
  • .agents/skills/event-tracking/ (Amp)
  • Or check where this skill was installed

If validation fails: fix the plan first, then implement.

4) Implement tracking (platform-correct)

Use MCP to fetch the exact trackEvent signature for the platform; then:

  • Place calls at stable boundaries (action confirmed, request succeeded, state updated)
  • Avoid duplicates (don’t fire on every render; debounce where needed)
  • Avoid null/complex values (prefer primitives; serialize dates to ISO)
  • Do not track PII by default

See references/implementation-patterns.md for placement heuristics and code patterns.

5) Verify

Minimum verification:

  • Event fires exactly once per user action (or the intended cadence)
  • Properties are primitive + stable (no null surprises)
  • For campaigns: console trigger conditions match exact names/keys

For troubleshooting steps, see references/debugging.md.

Source

git clone https://github.com/clix-so/skills/blob/main/skills/event-tracking/SKILL.mdView on GitHub

Overview

Implements Clix event tracking via Clix.trackEvent to power event-triggered campaigns, audience filters, and personalization. It enforces consistent naming, safe property schemas, and campaign ready validation. Use this skill when adding, reviewing, or debugging event tracking or configuring event triggered campaigns.

How This Skill Works

Developers call Clix.trackEvent with stable, snake_case event names and a published set of properties. Values map by type booleans/numbers/strings with dates serialized to ISO 8601 and unsupported objects converted to strings; errors are handled to keep apps robust. When MCP tools exist, use them as the source of truth; if not, rely on local references like trackevent-contract and naming-and-schema docs.

When to Use It

  • Configuring event triggered campaigns in Clix
  • Reviewing or debugging event tracking during development
  • Designing an event plan with names, timings, and properties before coding
  • Validating inputs including data types and PII constraints
  • Ensuring event name and property key consistency with the Clix console when mapping campaigns

Quick Start

  1. Step 1: Identify target platform and campaign goals
  2. Step 2: Propose and document an event_plan.json with event_name and properties
  3. Step 3: Implement Clix.trackEvent calls and verify events and campaigns

Best Practices

  • Name events in stable snake_case and keep them consistent across platforms
  • Define properties with clear required vs optional and explicit types
  • Serialize date-like values to ISO 8601 and coerce unsupported objects to strings
  • Validate the event plan early and store it as .clix/event-plan.json when possible
  • Wrap trackEvent calls with error handling and use MCP as truth when available

Example Use Cases

  • Track user_signup_completed with properties plan and source
  • Track checkout_started with cart_value, currency, method
  • Track item_purchased with item_id, price, currency, successful
  • Track page_view with url and referrer for analytics
  • Track level_upgraded to trigger a personalized campaign

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers