Cookie Object
Overview
The cookie object contains detailed information about cookies used for platform and destination tracking in API implementations only. This object is specifically designed for server-side tracking where cookie values must be collected and preserved from the original user session, then transmitted through the API to enable proper attribution and tracking across various advertising platforms and analytics destinations.
Each cookie object represents a single cookie name-value pair that was present during the user's browser session and is required by specific tracking platforms or destinations used by the client for marketing attribution, conversion tracking, and audience building.
Core Structure
The cookie object consists of essential properties for platform integration:
- Cookie Identification - Cookie name as used by tracking platforms
- Cookie Value - The actual cookie value from user's browser session
- Platform Requirements - Cookies required by specific destinations and platforms
Complete Reference
cookies[0] object
name string required
Cookie name.
name: "cookie_name"
value string required
Cookie value.
value: "cookie_value"
Implementation Examples
- Google Ads Tracking
- Facebook/Meta Pixel
- Analytics Platforms
- Mixed Platform Setup
[
{
name: "_gid",
value: "GA1.2.123456789.1640995200"
},
{
name: "_ga",
value: "GA1.2.987654321.1640995200"
},
{
name: "_gcl_aw",
value: "GCL.1640995200.CjwKCAiA"
}
]
[
{
name: "_fbp",
value: "fb.1.1640995200.123456789"
},
{
name: "_fbc",
value: "fb.1.1640995200.AbCdEfGhIjKlMnOp"
}
]
[
{
name: "_ga",
value: "GA1.2.123456789.1640995200"
},
{
name: "_gid",
value: "GA1.2.987654321.1640995200"
},
{
name: "_gat_gtag_UA_XXXXXXX_X",
value: "1"
}
]
[
// Google Analytics
{
name: "_ga",
value: "GA1.2.123456789.1640995200"
},
// Google Ads
{
name: "_gcl_aw",
value: "GCL.1640995200.CjwKCAiA"
},
// Facebook Pixel
{
name: "_fbp",
value: "fb.1.1640995200.123456789"
},
// Custom tracking
{
name: "custom_user_id",
value: "usr_abc123def456"
}
]
Platform-Specific Cookie Requirements
Different advertising and analytics platforms require specific cookies for proper attribution:
- Google Ecosystem
- Meta/Facebook
- Other Platforms
Google Analytics cookies:
[
{
name: "_ga", // Client ID
value: "GA1.2.123456789.1640995200"
},
{
name: "_gid", // Session ID
value: "GA1.2.987654321.1640995200"
}
]
Google Ads cookies:
[
{
name: "_gcl_aw", // Google Click ID for Ads
value: "GCL.1640995200.CjwKCAiA"
},
{
name: "_gcl_dc", // DoubleClick Campaign Manager
value: "GCL.1640995200.AbCdEfGh"
}
]
Facebook Pixel cookies:
[
{
name: "_fbp", // Facebook Browser Pixel
value: "fb.1.1640995200.123456789"
},
{
name: "_fbc", // Facebook Click ID
value: "fb.1.1640995200.AbCdEfGhIjKlMnOp"
}
]
LinkedIn Insight Tag:
[
{
name: "_guid",
value: "12345678-1234-1234-1234-123456789012"
}
]
TikTok Pixel:
[
{
name: "_ttp",
value: "123456789.abcdefgh"
}
]
Pinterest Tag:
[
{
name: "_pin_unauth",
value: "dWlkPWFiY2RlZmdoaWprbG1ub3A"
}
]
Cookie Collection Strategy
Server-Side Implementation Requirements
Since cookies are only available in API implementations, they must be collected and stored during the user's browser session:
// Example: Collecting cookies server-side for later API transmission
const sessionData = {
user_cookies: {
// Google Analytics
"_ga": request.cookies["_ga"],
"_gid": request.cookies["_gid"],
// Google Ads
"_gcl_aw": request.cookies["_gcl_aw"],
// Facebook Pixel
"_fbp": request.cookies["_fbp"],
"_fbc": request.cookies["_fbc"],
// Custom tracking
"custom_session_id": request.cookies["custom_session_id"]
}
};
// Later used in API call
const cookiesArray = Object.entries(sessionData.user_cookies)
.filter(([name, value]) => value !== undefined)
.map(([name, value]) => ({ name, value }));
Cookie Preservation Methods
- Session Storage
- Database Storage
- Queue Processing
// Store cookies in session for delayed API calls
function preserveCookiesInSession(req, session) {
const requiredCookies = [
'_ga', '_gid', '_gcl_aw', '_fbp', '_fbc'
];
session.tracking_cookies = {};
requiredCookies.forEach(cookieName => {
if (req.cookies[cookieName]) {
session.tracking_cookies[cookieName] = req.cookies[cookieName];
}
});
}
// Store cookies in database for order processing
function storeCookiesForOrder(userId, cookies, orderId) {
const cookieData = {
user_id: userId,
order_id: orderId,
cookies: JSON.stringify(cookies),
created_at: new Date()
};
// Store in database for later API transmission
database.trackingCookies.create(cookieData);
}
// Queue cookies for batch API processing
function queueCookiesForAPI(eventData, userCookies) {
const apiPayload = {
event: eventData,
cookies: Object.entries(userCookies).map(([name, value]) => ({
name,
value
})),
queued_at: Date.now()
};
// Add to processing queue
apiQueue.add('sendTrackingEvent', apiPayload);
}
Client Destination Configuration
The cookies object should include only cookies required by the client's active destinations and platforms:
E-commerce Client Example
// Client using Google Ads + Facebook Ads
const ecommerceClientCookies = [
// Google Ads conversion tracking
{
name: "_gcl_aw",
value: "GCL.1640995200.CjwKCAiA"
},
// Google Analytics for attribution
{
name: "_ga",
value: "GA1.2.123456789.1640995200"
},
// Facebook Pixel for retargeting
{
name: "_fbp",
value: "fb.1.1640995200.123456789"
}
];
B2B Client Example
// Client using LinkedIn + Google Analytics
const b2bClientCookies = [
// LinkedIn conversion tracking
{
name: "_guid",
value: "12345678-1234-1234-1234-123456789012"
},
// Google Analytics for web analytics
{
name: "_ga",
value: "GA1.2.123456789.1640995200"
},
// Custom lead tracking
{
name: "lead_source_id",
value: "linkedin_campaign_123"
}
];
Multi-Platform Client Example
// Client using comprehensive tracking setup
const comprehensiveClientCookies = [
// Google ecosystem
{
name: "_ga",
value: "GA1.2.123456789.1640995200"
},
{
name: "_gcl_aw",
value: "GCL.1640995200.CjwKCAiA"
},
// Meta/Facebook
{
name: "_fbp",
value: "fb.1.1640995200.123456789"
},
// TikTok
{
name: "_ttp",
value: "123456789.abcdefgh"
},
// Pinterest
{
name: "_pin_unauth",
value: "dWlkPWFiY2RlZmdoaWprbG1ub3A"
}
];
Usage in API Events
The cookies object is used in API implementations within the cookies
array:
- API Event Create - Include cookies with all API events
- E-commerce API Events - Essential for conversion tracking
- Lead Generation API - Required for lead attribution
- Custom API Endpoints - Platform-specific implementations
Integration Patterns
Standard API Implementation
// Complete API event with cookies
{
event: {
name: "checkout_completed",
value: 299.99,
currency: "USD",
id: "ORDER_12345"
},
context: {
environment: "prod",
data_source: "website"
},
cookies: [
{
name: "_ga",
value: "GA1.2.123456789.1640995200"
},
{
name: "_gcl_aw",
value: "GCL.1640995200.CjwKCAiA"
},
{
name: "_fbp",
value: "fb.1.1640995200.123456789"
}
],
user: {
email: ["[email protected]"]
}
}
Delayed Order Processing
// Order processed later with preserved cookies
function processDelayedOrder(orderData, preservedCookies) {
const apiPayload = {
event: {
name: "checkout_completed",
value: orderData.total,
currency: orderData.currency,
id: orderData.order_id
},
cookies: preservedCookies.map(cookie => ({
name: cookie.name,
value: cookie.value
})),
// ... other event data
};
// Send to API
sendToReshapeAPI(apiPayload);
}
Conditional Cookie Inclusion
// Include cookies based on client configuration
function buildCookiesArray(allCookies, clientConfig) {
const requiredCookies = [];
// Google Ads client
if (clientConfig.platforms.includes('google_ads')) {
if (allCookies._gcl_aw) {
requiredCookies.push({
name: "_gcl_aw",
value: allCookies._gcl_aw
});
}
}
// Facebook Pixel client
if (clientConfig.platforms.includes('facebook')) {
if (allCookies._fbp) {
requiredCookies.push({
name: "_fbp",
value: allCookies._fbp
});
}
}
return requiredCookies;
}
Privacy and Compliance
GDPR Compliance
// Include cookies only with proper consent
function getCookiesWithConsent(userCookies, consentData) {
const allowedCookies = [];
// Analytics cookies (if consent given)
if (consentData.analytics_consent) {
if (userCookies._ga) {
allowedCookies.push({
name: "_ga",
value: userCookies._ga
});
}
}
// Marketing cookies (if consent given)
if (consentData.marketing_consent) {
if (userCookies._gcl_aw) {
allowedCookies.push({
name: "_gcl_aw",
value: userCookies._gcl_aw
});
}
}
return allowedCookies;
}
Cookie Anonymization
// Anonymize sensitive cookie values if required
function anonymizeCookies(cookies, anonymizationLevel) {
return cookies.map(cookie => {
if (anonymizationLevel === 'high') {
// Hash cookie values for privacy
return {
name: cookie.name,
value: hashValue(cookie.value)
};
}
return cookie;
});
}
Best Practices
Data Quality
- Required Cookies Only - Include only cookies needed by client's active platforms
- Valid Cookie Values - Ensure cookie values are current and properly formatted
- Platform Accuracy - Match cookie names exactly as expected by destination platforms
- Consent Compliance - Respect user privacy preferences and consent status
Implementation
- Session Preservation - Collect cookies during user session for later API use
- Error Handling - Handle missing or expired cookies gracefully
- Selective Inclusion - Include cookies based on client platform configuration
- Performance Optimization - Minimize cookie data size for API efficiency
Security
- Data Transmission - Always use HTTPS for API calls containing cookie data
- Cookie Validation - Validate cookie formats before transmission
- Access Control - Restrict cookie data access to authorized systems only
- Audit Trail - Log cookie usage for compliance and debugging
Platform Integration
- Destination Mapping - Map cookies to specific advertising platform requirements
- Attribution Accuracy - Ensure proper cookie-to-conversion attribution
- Real-time Processing - Process cookie data promptly for optimal attribution
- Cross-Platform Coordination - Coordinate cookie usage across multiple platforms
Common Cookie Types by Platform
Google Ecosystem Cookies
Cookie Name | Purpose | Example Value |
---|---|---|
_ga | Google Analytics Client ID | GA1.2.123456789.1640995200 |
_gid | Google Analytics Session ID | GA1.2.987654321.1640995200 |
_gcl_aw | Google Ads Click ID | GCL.1640995200.CjwKCAiA |
_gcl_dc | DoubleClick Campaign Manager | GCL.1640995200.AbCdEfGh |
Meta/Facebook Cookies
Cookie Name | Purpose | Example Value |
---|---|---|
_fbp | Facebook Browser Pixel | fb.1.1640995200.123456789 |
_fbc | Facebook Click ID | fb.1.1640995200.AbCdEfGhIjKlMnOp |
Other Platform Cookies
Platform | Cookie Name | Purpose |
---|---|---|
_guid | LinkedIn Insight Tag | |
TikTok | _ttp | TikTok Pixel |
_pin_unauth | Pinterest Tag | |
Snapchat | _scid | Snapchat Pixel |