Skip to main content
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

User Identification Attributes

glue_user_id

glue_user_id
string
required
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

glue_user_firstseen
string
required
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

glue_session_start
string
required
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_source

utm_source
string
Tracks 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" />

Platform-Specific Attribution

Facebook Click ID

glue_initial_fbclid
string
Facebook click identifier for ad attribution
Storage: localStorage, cookies (365 days) Example: IwAR0Kg4h2k3j5l6m7n8o9p0q1r2s3t4u5v6w7x8y9z

Google Click ID

glue_initial_gclid
string
Google Ads click identifier for conversion tracking
Storage: localStorage, cookies (365 days) Example: CjwKCAjw_b-WBhAb123Example

TikTok Tracking ID

glue_initial_ttid
string
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_current

glue_url_current
string
Current page URL
Storage: sessionStorage Auto-generated: Yes, updates on each page load Example: https://example.com/product/details

Browser Information

glue_user_browser

glue_user_browser
object
Browser detection results in JSON format
Storage: sessionStorage Auto-generated: Yes Example:
{
  "browser": "Chrome",
  "version": "120",
  "os": "macOS",
  "device": "desktop"
}

Form Data Attributes

Personal Information

  • First Name
  • Last Name
  • Email
  • Mobile

glue_fname

glue_fname
string
First 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" />

Special Parameters

Calendly Integration

calendly
string
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_appInfo

glue_tt_appInfo
string
TikTok application information
Source: TikTok sessionStorage (tt_appInfo) Storage: localStorage, sessionStorage, cookies (30 days)

Facebook Attribution

DataGlue automatically captures Facebook attribution data from cookies:
  • Browser Pixel
  • Click ID

glue_fb_fbp

glue_fb_fbp
string
Facebook browser pixel identifier
Source: Facebook cookie (_fbp) Storage: localStorage, sessionStorage, cookies (30 days) Example: fb.1.1640995200000.1234567890

Geolocation Attributes

glue_user_geolocation

glue_user_geolocation
string
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 });
}

Element Selectors & Form Integration

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" />

Fillout Form Integration

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="john@example.com"
     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.

API Usage Examples

Reading 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

// 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

// Clear specific attribute
window.glue.storage.remove('glue_custom_attr');

Browser Compatibility

  • Storage APIs
  • Modern APIs
FeatureChromeFirefoxSafariEdgeIE11
localStorage
sessionStorage
Cookies

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.
  1. Consistent Prefixing: Always use glue_ prefix for custom attributes
  2. Descriptive Names: Use clear, meaningful names like glue_lead_source instead of glue_ls
  3. Appropriate Expiration: Set reasonable cookie expiration times based on data sensitivity
  4. 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