Spindl
  • 👋Overview
    • Introduction
    • Attribution
    • Privacy
  • Your Spindl app setup
    • Managing team members
  • 🪄Features
    • 📈Onchain Attribution
      • 📉Plotting attribution
    • 📊Web3-native Analytics
      • Chart Builder
      • Event Selection and Filtering
      • Line Chart
      • Funnel
      • Cohort Retention
      • Sankey Diagram
      • Big Numbers
      • Pies and Donuts
    • 🧍‍♂️Audiences
      • Creating an audience
    • 🔗Short Links
      • 🖇️Custom Domains
    • 🤝Referrals
      • Management and reporting
      • ⏩Quick Start
      • ⛓️Technical Details
  • ⚙️Techncial
    • ⏩Start Here
    • Google GTM Guide
    • Javascript SDK / HTML Script Guide
      • ➡️Install
      • ➡️Wallet Connects
      • ➡️Page Views
      • ➡️Custom Events
      • ✅Verify That Events Are Sent Correctly
      • React, Next.js & Html Examples
      • Setup a Reverse Proxy
        • Using Next.js
        • Using Cloudflare Workers
        • Netlify
      • ➡️Referrals
      • Default vs Lite SDK Versions
      • Security
    • API
      • ➡️Short Links
      • ➡️Custom Events API
      • Data Exports
    • Android SDK
    • iOS (Swift) SDK
    • On-Chain
      • ➡️Rewards
  • Contact Spindl
  • Ads
    • ⏩Start Here
    • 📢Creative Specifications
      • Web Banner Ads
      • Discord Embeds
Powered by GitBook
On this page
  1. Techncial
  2. Javascript SDK / HTML Script Guide

Custom Events

You can track custom events across your application to gain a more detailed understanding of how users interact with it.

Track

After you initial the Spindl SDK, you can call track on any interactions you want to track:

import spindl from "@spindl-xyz/attribution";
// import spindl from "@spindl-xyz/attribution-lite" // only for lite version customers

// Track a basic event
spindl.track('form_submitted');

// Track events with optional properties
const additionalProperties = {
  value: 55,
  filterSelected: true,
  color: "red"
};

// optionally add user identity properties 
const identityProperties = {
  address: "0x1234...",
  customerUserId: "will@smith.com"
};

spindl.track('button_clicked', additionalProperties, identityProperties);

<script>
// Track a basic event
window.spindl.track('form_submitted');

// Track events with optional properties
const additionalProperties = {
  value: 55,
  filterSelected: true,
  color: "red"
};

// optionally add user identity properties 
const identityProperties = {
  address: "0x1234...",
  customerUserId: "will@smith.com"
};

window.spindl.track('button_clicked', additionalProperties, identityProperties);

</script>

SDK Method

To make data easily queryable, we have put the following restrictions on properties:

spindl.track(
    event_name: string,
    event_properties?: Record<string, any>,
    identity_props?: {
        address?: string;
        customerUserId?: string;
    }
): void

Arguments

  • event_name (required): Min 3 & max 100 characters. Must be lower/uppercase alphanumeric. _:- symbols are allowed

  • event_properties (optional): Must be a valid JSON object. Max size 16KB & object keys & values cannot exceed 1,000 characters

  • identity_props (optional): You can pass in user props address and customerUserId to improve identity matching

PreviousPage ViewsNextVerify That Events Are Sent Correctly

Last updated 8 months ago

⚙️
➡️