This comprehensive reference covers all attributes captured and managed by DataGlue, including their storage locations, purposes, and practical usage examples.
Attribute Overview
DataGlue captures and manages visitor attributes using a consistent glue_ prefix for easy identification. All attributes are stored across multiple storage mechanisms for redundancy and accessibility.
Storage Strategy
localStorage
sessionStorage
Cookies
Persistent storage - Survives browser restarts
User identification data
Attribution history
First-visit information
Geolocation data
Session-only storage - Cleared when tab closes
Current session data
URL tracking
Browser information
Temporary values
Cross-tab persistent - Available to server-side code
User ID with expiration
Attribution data with TTL
Third-party integration data
User Identification Attributes
glue_user_id
Unique identifier for each visitor using UUID v7 format
Storage : localStorage, cookies (365 days)
Auto-generated : Yes, on first visit
Example : 01234567-89ab-cdef-0123-456789abcdef
// Access user ID
const userId = window . glue . storage . get ( 'glue_user_id' );
console . log ( 'Visitor ID:' , userId );
glue_user_firstseen
ISO timestamp recording when the user first visited the site
Storage : localStorage
Auto-generated : Yes, on first visit only
Example : 2024-01-15T10:30:00.000Z
glue_session_start
ISO timestamp recording when the current session started
Storage : sessionStorage
Auto-generated : Yes, updates on each page load
Example : 2024-01-15T14:20:00.000Z
Attribution Tracking Attributes
DataGlue captures both initial and last-touch attribution for comprehensive tracking.
First vs Last Touch : DataGlue preserves both the first touchpoint (how they originally found you) and the last touchpoint (what brought them back) for accurate attribution.
UTM Parameters
UTM Source
UTM Medium
UTM Campaign
UTM Term
UTM Content
UTM ID
glue_initial_utm_source / glue_last_utm_sourceTracks traffic source (google, facebook, newsletter, etc.)
Storage : localStorage, cookies (365 days)
Examples : google, facebook, newsletter, linkedin<!-- Form integration -->
< input type = "hidden" glue = "glue_initial_utm_source" name = "first_touch_source" />
< input type = "hidden" glue = "glue_last_utm_source" name = "last_touch_source" />
glue_initial_utm_medium / glue_last_utm_mediumTracks marketing medium (cpc, email, social, etc.)
Storage : localStorage, cookies (365 days)
Examples : cpc, email, social, organicglue_initial_utm_campaign / glue_last_utm_campaignStorage : localStorage, cookies (365 days)
Examples : summer_sale, product_launch, retargeting_q1glue_initial_utm_term / glue_last_utm_termTracks search keywords or ad targeting
Storage : localStorage, cookies (365 days)
Examples : data analytics, tracking software, crm integrationglue_initial_utm_content / glue_last_utm_contentTracks content variation or A/B test version
Storage : localStorage, cookies (365 days)
Examples : header_cta, sidebar_ad, banner_v2glue_initial_utm_id / glue_last_utm_idUnique campaign identifier for advanced tracking
Storage : localStorage, cookies (365 days)
Examples : camp_12345, promo_summer_2024
Facebook Click ID
Facebook click identifier for ad attribution
Storage : localStorage, cookies (365 days)
Example : IwAR0Kg4h2k3j5l6m7n8o9p0q1r2s3t4u5v6w7x8y9z
Google Click ID
Google Ads click identifier for conversion tracking
Storage : localStorage, cookies (365 days)
Example : CjwKCAjw_b-WBhAb123Example
TikTok Tracking ID
TikTok tracking identifier for ad attribution
Storage : localStorage, cookies (365 days)
Example : tt_abc123def456
Session Tracking Attributes
URL Tracking
Current URL
Previous URL
Landing Page
Referrer Domain
glue_url_currentStorage : sessionStorage
Auto-generated : Yes, updates on each page load
Example : https://example.com/product/detailsglue_url_lastPrevious page URL (referrer)
Storage : sessionStorage
Auto-generated : Yes, if referrer exists
Example : https://google.com/search?q=exampleglue_url_firstFirst landing page URL on the domain
Storage : localStorage
Auto-generated : Yes, stored only once
Example : https://example.com/landing-pageglue_user_referrerDomain of the referring site
Storage : localStorage
Auto-generated : Yes, if referrer exists and not set
Example : google.com, facebook.com, linkedin.com
glue_user_browser
Browser detection results in JSON format
Storage : sessionStorage
Auto-generated : Yes
Example :
{
"browser" : "Chrome" ,
"version" : "120" ,
"os" : "macOS" ,
"device" : "desktop"
}
First Name
Last Name
Email
Mobile
glue_fnameFirst name from forms or URL parameters
Storage : localStorage, sessionStorage, cookies (30 days)
Sources : URL params (?fname=John), form inputs, manual API calls< input type = "text" glue = "glue_fname" placeholder = "First Name" />
glue_lnameLast name from forms or URL parameters
Storage : localStorage, sessionStorage, cookies (30 days)
Sources : URL params (?lname=Doe), form inputs, manual API callsglue_emailEmail address from forms or URL parameters
Storage : localStorage, sessionStorage, cookies (30 days)
Sources : URL params ([email protected] ), form inputs, manual API calls< input type = "email" glue = "email" placeholder = "Email Address" />
<!-- Note: Can use 'email' or 'glue_email' as glue attribute -->
glue_mobilePhone number from forms or URL parameters
Storage : localStorage, sessionStorage, cookies (30 days)
Sources : URL params (?mobile=+1234567890), form inputs, manual API calls< input type = "tel" glue = "mobile" placeholder = "Phone Number" />
Special Parameters
Calendly Integration
Calendly meeting or scheduling parameter
Storage : localStorage, sessionStorage, cookies (30 days)
Example : scheduled, completed, cancelled
<!-- Automatically captured from URL -->
<!-- example.com/?calendly=scheduled -->
Third-Party Integration Attributes
TikTok Attribution
DataGlue automatically captures TikTok attribution data from sessionStorage:
App Info
Session Index
Session ID
glue_tt_appInfoTikTok application information
Source : TikTok sessionStorage (tt_appInfo)
Storage : localStorage, sessionStorage, cookies (30 days)glue_tt_pixel_session_indexglue_tt_pixel_session_index
TikTok pixel session tracking index
Source : TikTok sessionStorage (tt_pixel_session_index)
Storage : localStorage, sessionStorage, cookies (30 days)glue_tt_sessionIdTikTok session identifier
Source : TikTok sessionStorage (tt_sessionId)
Storage : localStorage, sessionStorage, cookies (30 days)
Facebook Attribution
DataGlue automatically captures Facebook attribution data from cookies:
glue_fb_fbpFacebook browser pixel identifier
Source : Facebook cookie (_fbp)
Storage : localStorage, sessionStorage, cookies (30 days)
Example : fb.1.1640995200000.1234567890glue_fb_fbcFacebook click identifier
Source : Facebook cookie (_fbc)
Storage : localStorage, sessionStorage, cookies (30 days)
Example : fb.1.1640995200000.AbCdEf123456
Geolocation Attributes
glue_user_geolocation
IP-based geolocation data in formatted string
Storage : localStorage
Source : geojs.io API (asynchronous)
Format : {country_code} | {country} | {city} | {latitude}, {longitude}
Example : US | United States | New York | 40.7128, -74.0060
Geolocation data is fetched asynchronously and may not be immediately available on the first page load.
// Check if geolocation data is available
const geoData = window . glue . storage . get ( 'glue_user_geolocation' );
if ( geoData ) {
const [ countryCode , country , city , coords ] = geoData . split ( ' | ' );
console . log ( 'User location:' , { countryCode , country , city , coords });
}
DataGlue uses sophisticated selector patterns to find and populate elements:
Selector Patterns
Direct Glue Prefix
Contains Pattern
Field Pattern
Glue Attribute
Data Attribute
<!-- Direct glue_ prefix in ID -->
< input id = "glue_email" />
< input id = "glue_fname" />
< input id = "glue_user_id" />
<!-- Contains _glue_ pattern -->
< input id = "contact_glue_email" />
< input class = "_glue_fname" />
< input name = "billing_glue_phone" />
<!-- Field pattern -->
< div class = "field_email" > Content </ div >
< div class = "field_glue_fname" >
< input /> <!-- Will be populated -->
</ div >
<!-- Direct glue attribute -->
< input glue = "email" />
< input glue = "glue_fname" />
< div glue = "utm_source" > Content </ div >
<!-- Data field reference -->
< div data-field-reference = "email" >
< input /> <!-- Will be populated -->
</ div >
For Fillout forms, DataGlue automatically adds data attributes:
<!-- Before DataGlue -->
< div data-fillout-id = "abc123" ></ div >
<!-- After DataGlue processing -->
< div data-fillout-id = "abc123"
data-glue_user_id = "01234567-89ab-cdef-0123-456789abcdef"
data-glue_email = "[email protected] "
data-glue_fname = "John"
data-glue_initial_utm_source = "linkedin"
data-glue_last_utm_campaign = "summer_sale"
data-custom_param = "newsletter_signup"
data-utm_medium = "cpc" >
</ div >
Valid Prefixes for Fillout
Glue Attributes
UTM Parameters
Query Parameters
All attributes starting with glue_ are automatically added:
data-glue_user_id
data-glue_email
data-glue_fname
etc.
All UTM parameters are added with data-utm_ prefix:
data-utm_source
data-utm_campaign
data-utm_medium
etc.
All URL query parameters are added as data attributes:
?custom_param=value → data-custom_param="value"
?lead_source=webinar → data-lead_source="webinar"
API Usage Examples
Reading Attributes
Basic Access
Visitor Context
Multiple Attributes
// Get specific attribute
const userEmail = window . glue . storage . get ( 'glue_email' );
const utmSource = window . glue . storage . get ( 'glue_initial_utm_source' );
// Check if attribute exists
if ( userEmail ) {
console . log ( 'User email:' , userEmail );
}
Setting Attributes
Basic Setting
Attribution Override
Bulk Setting
// Set with localStorage only
window . glue . storage . set ( 'glue_custom_attr' , 'value' );
// Set with cookie expiration (30 days)
window . glue . storage . set ( 'glue_user_tier' , 'premium' , 30 );
Clearing Attributes
Single Attribute
All Attributes
Selective Clearing
// Clear specific attribute
window . glue . storage . remove ( 'glue_custom_attr' );
Browser Compatibility
Feature Chrome Firefox Safari Edge IE11
localStorage ✅ ✅ ✅ ✅ ✅ sessionStorage ✅ ✅ ✅ ✅ ✅ Cookies ✅ ✅ ✅ ✅ ✅
Feature Chrome Firefox Safari Edge IE11
URL SearchParams ✅ ✅ ✅ ✅ ❌* UUID v7 ✅ ✅ ✅ ✅ ❌* Geolocation API ✅ ✅ ✅ ✅ ✅ CSS.escape() ✅ ✅ ✅ ✅ ❌*
*Requires polyfill for IE11 support
Best Practices
Naming Convention : Use descriptive names for custom attributes and maintain the glue_ prefix for consistency.
Data Privacy : Ensure compliance with privacy regulations when collecting personal information. DataGlue respects doNotTrack browser settings.
Recommended Patterns
Consistent Prefixing : Always use glue_ prefix for custom attributes
Descriptive Names : Use clear, meaningful names like glue_lead_source instead of glue_ls
Appropriate Expiration : Set reasonable cookie expiration times based on data sensitivity
Graceful Fallbacks : Always check if data exists before using it
Security Considerations
DataGlue automatically sanitizes stored values to prevent XSS
No sensitive data is stored without explicit configuration
All data is stored client-side unless explicitly sent to servers
Uses CSS.escape() to safely handle special characters in selectors