Loading...
Loading...
Create a minimal working Customer.io example. Use when learning Customer.io basics, testing SDK setup, or creating your first messaging integration. Trigger with phrases like "customer.io hello world", "first customer.io message", "test customer.io", "customer.io example".
npx skill4agent add jeremylongshore/claude-code-plugins-plus-skills customerio-hello-worldcustomerio-install-auth// hello-customerio.ts
import { TrackClient, RegionUS } from '@customerio/track';
const client = new TrackClient(
process.env.CUSTOMERIO_SITE_ID!,
process.env.CUSTOMERIO_API_KEY!,
{ region: RegionUS }
);
async function main() {
// Step 1: Identify a user
await client.identify('user-123', {
email: 'hello@example.com',
first_name: 'Hello',
created_at: Math.floor(Date.now() / 1000)
});
console.log('User identified');
// Step 2: Track an event
await client.track('user-123', {
name: 'hello_world',
data: {
source: 'sdk-test',
timestamp: new Date().toISOString()
}
});
console.log('Event tracked');
}
main().catch(console.error);npx ts-node hello-customerio.ts| Error | Cause | Solution |
|---|---|---|
| 401 Unauthorized | Invalid credentials | Verify Site ID and API Key |
| 400 Bad Request | Invalid data format | Check attribute names and types |
| User not found | Identify not called | Always identify before tracking events |
| Event not showing | Dashboard delay | Wait 1-2 minutes and refresh |
import os
from customerio import CustomerIO
cio = CustomerIO(
site_id=os.environ.get('CUSTOMERIO_SITE_ID'),
api_key=os.environ.get('CUSTOMERIO_API_KEY')
)
# Identify user
cio.identify(id='user-123', email='hello@example.com', first_name='Hello')
print('User identified')
# Track event
cio.track(customer_id='user-123', name='hello_world', source='sdk-test')
print('Event tracked')// Track anonymous user with device ID
await client.identify('device-abc123', {
anonymous_id: 'device-abc123',
platform: 'web'
});customerio-local-dev-loop