Step-by-Step Guide to Configure a Source and Start Sending Data Using Segment SDK
Step 1: Add a New Source in Segment
- Log in to your Segment account.
- Navigate to the "Connections" page and click on the "Catalog" tab.
- Select the "Sources" tab.
- Search for the desired source (e.g., JavaScript, Node.js, etc.) and click on it.
- Click the "Add Source" button and follow the prompts to complete the setup.
Step 2: Configure the Source
-
After adding the source, you will be provided with a write key. This key is essential for integrating Segment with your application.
-
Follow the specific instructions for the SDK you are using to install and set up the Segment library.
For example, to install the Node.js SDK, use:
npm install @segment/analytics-node
Then, initialize the library with your write key:
const Analytics = require('@segment/analytics-node'); const analytics = new Analytics('YOUR_WRITE_KEY');
Step 3: Sending Data Using Segment SDK
Example Use Case: Identify and Track Calls
-
Identify Call: Use the identify call to associate a user with their traits (e.g., email, name, subscription plan).
analytics.identify({ userId: 'user123', traits: { name: 'John Doe', email: 'john.doe@example.com', plan: 'premium', signupDate: '2024-06-07' } });
-
Track Call: Use the track call to record any actions the user performs (e.g., login, signup, feature usage).
analytics.track({ userId: 'user123', event: 'Signed Up', properties: { plan: 'premium', source: 'marketing_campaign' } });
analytics.track({ userId: 'user123', event: 'Logged In', properties: { time: '2024-06-07T12:34:56Z' } });
analytics.track({ userId: 'user123', event: 'Subscription Changed', properties: { oldPlan: 'basic', newPlan: 'premium' } });
analytics.track({ userId: 'user123', event: 'Account Deleted', properties: { reason: 'user request' } });
Example Use Case: Integrating with Signup, Login, Feature Actions, Subscriptions, and Delete Account
-
Signup
app.post('/signup', (req, res) => { const { userId, name, email, plan } = req.body; // Identify the user analytics.identify({ userId: userId, traits: { name: name, email: email, plan: plan, signupDate: new Date().toISOString() } }); // Track the signup event analytics.track({ userId: userId, event: 'Signed Up', properties: { plan: plan } }); res.status(200).send('User signed up successfully'); });
-
Login
app.post('/login', (req, res) => { const { userId } = req.body; // Track the login event analytics.track({ userId: userId, event: 'Logged In', properties: { time: new Date().toISOString() } }); res.status(200).send('User logged in successfully'); });
-
Feature Actions
app.post('/feature-use', (req, res) => { const { userId, featureName } = req.body; // Track feature usage analytics.track({ userId: userId, event: `Used Feature: ${featureName}`, properties: { feature: featureName, time: new Date().toISOString() } }); res.status(200).send('Feature usage recorded'); });
-
Subscription Changes
app.post('/subscription-change', (req, res) => { const { userId, oldPlan, newPlan } = req.body; // Track the subscription change event analytics.track({ userId: userId, event: 'Subscription Changed', properties: { oldPlan: oldPlan, newPlan: newPlan } }); res.status(200).send('Subscription change recorded'); });
-
Delete Account
app.post('/delete-account', (req, res) => { const { userId, reason } = req.body; // Track the account deletion event analytics.track({ userId: userId, event: 'Account Deleted', properties: { reason: reason } }); res.status(200).send('Account deletion recorded'); });
Conclusion
By following this guide, startups can efficiently set up Segment to send data from their applications using the Segment SDK. The examples provided demonstrate how to use identify and track calls to capture user traits and events, helping businesses gain valuable insights and make data-driven decisions.