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
- Verify User Data Setting: Check console logs for user data confirmation
- Test Event Tracking: Ensure events are tracked after setting user data
- Check Dashboard: Verify user data appears in Trackier dashboard
- Validate Format: Ensure user data follows proper format guidelines
Next Steps
After implementing user data integration:
- Test user data tracking with various user scenarios
- Monitor dashboard for user data correlation
- Implement privacy controls and user consent mechanisms
- For assistance, contact Trackier support at support@trackier.com