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

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

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

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

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:

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:

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

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

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