average-whale-33542
03/13/2025, 7:47 PMconst gb = new GrowthBook({
apiHost: process.env.NEXT_PUBLIC_GROWTHBOOK_API_HOST,
clientKey: process.env.NEXT_PUBLIC_GROWTHBOOK_CLIENT_KEY,
enableDevMode: true,
trackingCallback: async (experiment, result) => {
console.log('Tracking event:', experiment.key, result.variationId || result.key)
// Server-side GA4 tracking for experiments
try {
// Construct GA payload with proper parameter structure for GA4
const payload = {
client_id: clientId,
user_id: userId, // Including user ID for cross-device tracking
user_properties: {
gb_user_id: { value: userId },
},
events: [
{
name: 'experiment_view', // GA4 typically uses snake_case
params: {
experiment_id: experiment.key,
variation_id: result.variationId || result.key,
experiment_name: experiment.name || experiment.key,
},
},
],
}
// GA4 Measurement Protocol endpoint
const endpoint = `<https://www.google-analytics.com/mp/collect?measurement_id=${process.env.GA_MEASUREMENT_ID}&api_secret=${process.env.GA_API_SECRET}>`
// Send event to Google Analytics with better error reporting
const response = await fetch(endpoint, {
method: 'POST',
body: JSON.stringify(payload),
headers: {
'Content-Type': 'application/json',
},
})
if (!response.ok) {
const errorText = await response.text()
console.error('GA4 API error:', response.status, errorText)
} else {
console.log('GA4 event sent successfully')
}
} catch (error) {
console.error('Error sending GA event:', error)
}
},
})
It is logging "GA4 Event is sent successfully, but it is not showing upfresh-football-47124
average-whale-33542
03/13/2025, 7:59 PMfresh-football-47124
average-whale-33542
03/13/2025, 8:01 PMfresh-football-47124
fresh-football-47124
average-whale-33542
03/13/2025, 8:02 PMfresh-football-47124
fresh-football-47124
fresh-football-47124
average-whale-33542
03/13/2025, 8:03 PMfresh-football-47124
fresh-football-47124
average-whale-33542
03/13/2025, 8:06 PM{
"validationMessages": []
}
average-whale-33542
03/13/2025, 8:07 PMcurl -X POST "<https://www.google-analytics.com/debug/mp/collect?measurement_id=G-XXX&api_secret=XXXXXXXX>" \
-H "Content-Type: application/json" \
-d '{
"client_id": "123456.7890123456",
"events": [{
"name": "experiment_viewed",
"params": {
"experiment_id": "test-experiment",
"variation_id": "A"
}
}]
}'
average-whale-33542
03/13/2025, 8:16 PMcurl -X POST "<https://www.google-analytics.com/mp/collect?measurement_id=G-XXX&api_secret=XXXXXXXX>" \
-H "Content-Type: application/json" \
-d '{
"client_id": "123456.7890123456",
"events": [{
"name": "experiment_viewed",
"params": {
"experiment_id": "test-experiment",
"variation_id": "A"
}
}]
}'
average-whale-33542
03/15/2025, 11:15 AMfresh-football-47124