Event Tracking
All tracking methods except initialize(), getAttribution(), and requestTrackingPermission() are synchronous (fire-and-forget).
Custom Events
AttributeHQ.track('signup_completed')
AttributeHQ.track('product_viewed', {
product_id: 'sku_123',
category: 'electronics',
price: 15000,
})Revenue Events
// Defaults to NGN currency
AttributeHQ.trackRevenue(5000)
// With currency
AttributeHQ.trackRevenue(25.99, 'USD')
// With properties
AttributeHQ.trackRevenue(5000, 'NGN', {
product: 'premium_plan',
payment_method: 'card',
})User Identification
AttributeHQ.identify('user_12345', {
email: 'user@example.com',
plan: 'premium',
})Get Attribution
const attribution = await AttributeHQ.getAttribution()
if (attribution) {
console.log('Match:', attribution.matchType)
console.log('Confidence:', attribution.confidence)
console.log('Source:', attribution.mediaSource)
console.log('Organic:', attribution.isOrganic)
}Returns null if install tracking hasn’t completed.
Flush Events
AttributeHQ.flush()Request Tracking Permission (iOS)
Request App Tracking Transparency permission on iOS:
import { Platform } from 'react-native'
if (Platform.OS === 'ios') {
const status = await AttributeHQ.requestTrackingPermission()
console.log('ATT status:', status)
// "authorized" | "denied" | "restricted" | "notDetermined"
}On Android, requestTrackingPermission() always resolves with "authorized" since there’s no ATT equivalent. You can safely call it on both platforms without a Platform.OS check.
Check Initialization
if (AttributeHQ.isInitialized()) {
AttributeHQ.track('ready')
}Platform Differences
| Feature | iOS | Android |
|---|---|---|
| ATT/IDFA | Yes (requires permission) | N/A |
| GAID | N/A | Yes (automatic) |
| Install Referrer | N/A | Yes (automatic) |
| SKAdNetwork | Yes (automatic) | N/A |
requestTrackingPermission() | Shows ATT prompt | Always returns “authorized” |
| Device ID persistence | Keychain (survives reinstall) | SharedPreferences (lost on reinstall) |
The server receives Platform.OS (“ios” or “android”) and applies the appropriate attribution logic.