Skip to main content

Passing User Data to SDK

The AppTrove Expo SDK allows you to pass user information to enhance tracking and personalization. This feature enables you to correlate user data with Trackier analytics and logs, providing deeper insights into user behavior and campaign performance.


Overview

User data integration allows you to:

  • Pass user identification information (ID, email, name, phone)
  • Add custom user attributes for enhanced analytics
  • Correlate user data with campaign performance
  • Personalize user experiences based on user information

Basic User Data Functions

The SDK provides several functions to set user information:

  • setUserId(): Set the user's unique identifier
  • setUserEmail(): Set the user's email address
  • setUserName(): Set the user's display name
  • setUserPhone(): Set the user's phone number
  • setUserAdditionalDetails(): Set custom user attributes

Implementation

Basic User Data Setting

import { TrackierConfig, TrackierSDK, TrackierEvent } from 'trackier-expo-sdk';

function setUserData() {
const event = new TrackierEvent(TrackierEvent.ADD_TO_CART);

// Set basic user information
TrackierSDK.setUserId("user123");
TrackierSDK.setUserEmail("user@example.com");
TrackierSDK.setUserName("John Doe");
TrackierSDK.setUserPhone("1234567890");

TrackierSDK.trackEvent(event);
}

Complete Example with Event Tracking

import { TrackierConfig, TrackierSDK, TrackierEvent } from 'trackier-expo-sdk';

export default function App() {
useEffect(() => {
const trackierConfig = new TrackierConfig("XXXXXXX-XXXX-XXXX-80e3-5938fadff", TrackierConfig.EnvironmentDevelopment);
TrackierSDK.initialize(trackierConfig);
}, []);

function trackEventWithUserData() {
const event = new TrackierEvent(TrackierEvent.ADD_TO_CART);

// Set user information
TrackierSDK.setUserId("user123");
TrackierSDK.setUserEmail("user@example.com");
TrackierSDK.setUserName("John Doe");
TrackierSDK.setUserPhone("1234567890");

// Add event parameters
event.param1 = "Product123";
event.param2 = "Category";

TrackierSDK.trackEvent(event);
console.log("Event tracked with user data");
}

return (
// Your app content
);
}

Additional User Details

For more detailed user information, you can use the setUserAdditionalDetails() function to pass custom attributes:

import { TrackierConfig, TrackierSDK, TrackierEvent } from 'trackier-expo-sdk';

function setAdditionalUserData() {
const event = new TrackierEvent(TrackierEvent.PURCHASE);

// Set basic user information
TrackierSDK.setUserId("user123");
TrackierSDK.setUserEmail("user@example.com");
TrackierSDK.setUserName("John Doe");
TrackierSDK.setUserPhone("1234567890");

// Set additional user details
const additionalData = {
age: "25",
gender: "male",
location: "New York",
preferences: ["sports", "technology"],
subscription_type: "premium",
registration_date: "2024-01-15"
};

TrackierSDK.setUserAdditionalDetails("data", additionalData);

TrackierSDK.trackEvent(event);
}

User Data with Revenue Events

You can combine user data with revenue tracking for comprehensive analytics:

import { TrackierConfig, TrackierSDK, TrackierEvent } from 'trackier-expo-sdk';

function trackRevenueWithUserData() {
const event = new TrackierEvent(TrackierEvent.PURCHASE);

// Set user information
TrackierSDK.setUserId("user123");
TrackierSDK.setUserEmail("user@example.com");
TrackierSDK.setUserName("John Doe");

// Set revenue information
event.revenue = 29.99;
event.currency = "USD";

// Set additional user context
const userContext = {
purchase_method: "credit_card",
user_segment: "premium",
campaign_source: "facebook"
};

TrackierSDK.setUserAdditionalDetails("context", userContext);

TrackierSDK.trackEvent(event);
}

Best Practices

Data Privacy

  • User Consent: Always obtain user consent before collecting personal information
  • Data Minimization: Only collect data that is necessary for your use case
  • Secure Storage: Ensure user data is stored securely
  • GDPR Compliance: Follow applicable privacy regulations

Implementation Guidelines

  • Set User Data Early: Set user information as soon as it's available
  • Consistent User IDs: Use consistent user IDs across sessions
  • Data Validation: Validate user data before passing to the SDK
  • Error Handling: Handle cases where user data might be unavailable

Performance Considerations

  • Batch Updates: Set user data once per session when possible
  • Minimal Data: Only pass essential user information
  • Async Operations: Handle user data setting asynchronously if needed

Data Types and Formats

Supported Data Types

  • Strings: User IDs, names, emails, phone numbers
  • Objects: Custom user attributes and preferences
  • Arrays: User preferences, interests, categories

Format Guidelines

  • User IDs: Use consistent, unique identifiers
  • Emails: Use valid email format
  • Phone Numbers: Use international format when possible
  • Custom Data: Use clear, descriptive keys

Troubleshooting

Common Issues

Problem: User data not appearing in dashboard Solution:

  • Ensure user data is set before tracking events
  • Check that user data format is correct
  • Verify SDK initialization is complete

Problem: Custom data not being tracked Solution:

  • Ensure the data object is properly formatted
  • Check that the key name is valid
  • Verify the data is being set before event tracking

Problem: Performance issues with large user data Solution:

  • Limit the size of custom user data
  • Set user data once per session
  • Use efficient data structures

Debug Steps

  1. Verify User Data Setting: Check console logs for user data confirmation
  2. Test Event Tracking: Ensure events are tracked after setting user data
  3. Check Dashboard: Verify user data appears in Trackier dashboard
  4. Validate Format: Ensure user data follows proper format guidelines

Next Steps

After implementing user data integration:

  1. Test user data tracking with various user scenarios
  2. Monitor dashboard for user data correlation
  3. Implement privacy controls and user consent mechanisms
  4. For assistance, contact Trackier support at support@trackier.com