Overview
The User Info block enables you to collect comprehensive user information including network data, IP-based geolocation, device details, and browser specifications within your Release0 agent. This block is designed with privacy-first principles and automatic GDPR compliance for EU users.
Important: This block uses IP-based geolocation (not GPS). Location data is derived from the user’s IP address using Vercel’s geolocation headers, providing country, city, and approximate coordinates based on ISP location.
Key Features
- 🛡️ Privacy by Default: Automatic anonymization for EU users
- 🌍 IP Geolocation: Location data derived from IP address with privacy protection
- 📱 Device Detection: Hardware and browser information
- ⚖️ GDPR Compliant: Built-in legal compliance mechanisms
- 🔧 Flexible Options: Both anonymized and raw data available
Available Actions
Available Actions
The User Info block provides four specialized actions for different types of user data:
1. Get Network Info
Collect network-related information including IP address, referer, user agent, and host.
2. Get Location Info
Retrieve geographical data such as country, city, coordinates, and region information based on IP geolocation.
3. Get Device Info
Gather device hardware details including type, vendor, and model.
4. Get Browser Info
Obtain browser and operating system information including name, version, and language preferences.
GDPR Risk Classification
Understanding the privacy implications of each data type:
🔴 High Risk Data (Automatically Protected)
- IP Address: Last octet anonymized for IPv4, final segments for IPv6
- IP Geolocation Coordinates: Precision reduced to ~1km for EU users (based on IP address, not GPS)
🟡 Medium Risk Data (Partially Anonymized)
- Referer: Only origin domain preserved for EU users
- User Agent: Detailed version information removed for EU users
🟢 Low Risk Data (No Anonymization Required)
- Country, City, Region: General location data
- Device Type, Vendor, Model: Hardware information
- Browser Name, Version: Software information
- Operating System: Platform details
- Host: Request destination
Basic Network Data Setup
Use the Get Network Info action to collect network-related data:
Available Variables:
IP
- Anonymized IP address (GDPR-safe)
IP (Raw)
- Original IP address (requires consent)
Referer
- Anonymized referring URL (GDPR-safe)
Referer (Raw)
- Original referring URL (requires consent)
User Agent
- Partially anonymized user agent (GDPR-safe)
User Agent (Raw)
- Original user agent (requires consent)
Host
- Request host (no privacy risk)
Example Configuration:
Network Variables:
- Map "IP" to {{user_ip}}
- Map "Referer" to {{referring_site}}
- Map "User Agent" to {{browser_info}}
- Map "Host" to {{request_host}}
Network Data Usage Example
Create a personalized welcome message based on network information:
Text Block:
Welcome! 👋
We detected you're visiting from:
- IP Region: {{user_ip}}
- Referring Site: {{referring_site}}
- Browser: {{browser_info}}
How can we help you today?
Geographic Data Setup
Use the Get Location Info action to collect IP-based geographical data:
Data Source: Location information is derived from the user’s IP address using Vercel’s geolocation service. This provides approximate location based on ISP data, not device GPS.
Available Variables:
Country
/ Country (Raw)
- User’s country
City
/ City (Raw)
- User’s city
Continent
/ Continent (Raw)
- Continental region
Region
/ Region (Raw)
- State/province information
Latitude
- Reduced precision coordinates (GDPR-safe, IP-based)
Latitude (Raw)
- Original precision coordinates (requires consent, IP-based)
Longitude
- Reduced precision coordinates (GDPR-safe, IP-based)
Longitude (Raw)
- Original precision coordinates (requires consent, IP-based)
Is EU Country
- Critical boolean for GDPR compliance and regional logic
Is EU Country is one of the most valuable variables for building compliant, region-aware chatbots. Use this to trigger different flows, privacy notices, data handling, pricing, and legal compliance automatically.
Example Configuration:
Location Variables:
- Map "Country" to {{user_country}}
- Map "City" to {{user_city}}
- Map "Is EU Country" to {{is_eu_user}} ⭐ (Critical for compliance)
- Map "Latitude" to {{user_lat}}
- Map "Longitude" to {{user_lng}}
Location-Based Personalization
Create location-aware content and services using the powerful Is EU Country flag:
GDPR Compliance Flow:
Condition: {{is_eu_user}} equals true
EU User Flow:
"Welcome from {{user_city}}, {{user_country}}! 🇪🇺
We're committed to protecting your privacy under GDPR.
Your data is automatically anonymized for compliance."
Non-EU User Flow:
"Hello from {{user_city}}, {{user_country}}! 🌍
We're excited to serve customers worldwide.
Your approximate location: {{user_lat}}, {{user_lng}} (based on IP)"
Regional Business Logic:
Condition: {{is_eu_user}} equals true
EU Pricing Flow:
"Prices shown include VAT as required by EU law.
🇪🇺 EU Price: €99 (VAT included)
📋 Legal: Cookie consent required"
Non-EU Pricing Flow:
"💵 US Price: $99 (tax calculated at checkout)
🚀 No cookie consent needed - faster checkout!"
Data Collection Strategy:
Condition: {{is_eu_user}} equals true
EU Data Collection:
"We automatically minimize data collection for EU users.
✅ GDPR compliant by default
🛡️ Anonymized analytics only
📋 Full data deletion rights"
Standard Data Collection:
"We collect analytics to improve your experience.
📊 Full analytics enabled
🚀 Personalization features active
⚡ Enhanced user insights"
Hardware Detection Setup
Use the Get Device Info action to collect device details:
Available Variables:
Device Type
- Mobile, desktop, tablet, etc.
Device Vendor
- Manufacturer (Apple, Samsung, etc.)
Device Model
- Specific model name
Example Configuration:
Device Variables:
- Map "Device Type" to {{device_type}}
- Map "Device Vendor" to {{device_brand}}
- Map "Device Model" to {{device_model}}
Device-Optimized Experience
Adapt the conversation based on device capabilities:
Conditional Logic Block:
Condition: {{device_type}} equals "mobile"
Mobile Flow:
"We see you're on a {{device_brand}} {{device_model}}! 📱
Our mobile-optimized experience is perfect for on-the-go interactions.
Would you like to enable quick actions?"
Desktop Flow:
"Welcome to our full desktop experience! 💻
You have access to all advanced features and detailed information.
How would you like to proceed?"
Browser and OS Detection
Use the Get Browser Info action to collect browser details:
Available Variables:
Browser Name
- Chrome, Firefox, Safari, etc.
Browser Version
- Version number
Browser Language
- Full language preference
Browser Language Code
- ISO language code
Browser Language Region
- Regional preference
OS Name
- Operating system
OS Version
- OS version number
Example Configuration:
Browser Variables:
- Map "Browser Name" to {{browser_name}}
- Map "Browser Language Code" to {{user_language}}
- Map "OS Name" to {{operating_system}}
Multi-Language Support
Implement automatic language detection:
Conditional Logic Block:
Condition: {{user_language}} equals "es"
Spanish Flow:
"¡Hola! Detectamos que prefieres español. 🇪🇸
¿Te gustaría continuar en español?"
English Flow:
"Hello! We detected your browser language as {{user_language}}.
Would you like to continue in English or switch languages?"
Complete Workflow Example
Let’s create a comprehensive user profiling system:
User Info Collection Block:
Collecting your information for personalization...
Add multiple User Info actions:
-
Get Network Info:
- Map “IP” to
{{user_ip}}
- Map “Host” to
{{request_host}}
-
Get Location Info:
- Map “Country” to
{{user_country}}
- Map “City” to
{{user_city}}
- Map “Is EU Country” to
{{is_eu_user}}
-
Get Device Info:
- Map “Device Type” to
{{device_type}}
- Map “Device Vendor” to
{{device_brand}}
-
Get Browser Info:
- Map “Browser Name” to
{{browser_name}}
- Map “Browser Language Code” to
{{user_language}}
- Map “OS Name” to
{{operating_system}}
Step 2: Create User Profile Summary
Text Block:
📊 Your Profile Summary
🌍 Location: {{user_city}}, {{user_country}}
📱 Device: {{device_brand}} {{device_type}}
🌐 Browser: {{browser_name}} on {{operating_system}}
🗣️ Language: {{user_language}}
🛡️ Privacy Status: {{#if is_eu_user}}GDPR Protected{{else}}Standard{{/if}}
This information helps us provide you with the best possible experience!
Step 3: Privacy Notice for EU Users
Conditional Logic Block:
Condition: {{is_eu_user}} equals true
EU Privacy Notice:
"🛡️ GDPR Privacy Notice
As an EU resident, your data is automatically protected:
- Your IP address has been anonymized
- Location coordinates have reduced precision
- All data collection complies with GDPR requirements
You can request data deletion at any time.
Do you consent to us using this anonymized data to improve your experience?"
Non-EU Flow:
"📊 Data Collection Notice
We've collected basic information to personalize your experience.
This data helps us provide better service and relevant content.
You can opt out of data collection at any time."
The Power of “Is EU Country” Detection
The Is EU Country variable is arguably the most powerful single data point for building compliant, region-aware chatbots. This boolean flag automatically determines if a user is in an EU country and enables:
⚖️ Automatic Legal Compliance
- GDPR compliance without manual configuration
- Cookie consent flows triggered automatically
- Data retention policies applied correctly
- Privacy notices shown when required
💰 Regional Business Logic
- VAT-inclusive pricing for EU customers
- Currency conversion and regional offers
- Shipping restrictions and local regulations
- Payment method availability by region
🛡️ Privacy-First User Experience
- Automatic data anonymization for EU users
- Transparent data handling messaging
- User rights information (deletion, access, portability)
- Consent management workflows
🌍 Localization and Personalization
- Language detection combined with region
- Cultural adaptation of communication style
- Regional content and product availability
- Local support routing and business hours
Example: Smart EU Detection Flow
[Get Location Info: Map "Is EU Country" to {{is_eu_user}}]
Condition: {{is_eu_user}} equals true
EU User Experience:
"🇪🇺 Welcome! We've automatically enabled GDPR protection.
• Your data is anonymized
• Cookies require consent
• Prices include VAT
• You have full data rights
Continue with privacy protection? [Yes] [Learn More]"
Non-EU User Experience:
"🌍 Welcome! Enjoy our full-featured experience.
• Complete analytics enabled
• Personalization active
• Streamlined checkout
• Enhanced recommendations
Ready to get started? [Yes] [Customize Privacy]"
Critical Implementation Note: Always use the Is EU Country flag as your primary decision point for GDPR compliance, not individual country checks. This ensures you catch all 27 EU member states automatically, including any future additions.
Best Practices
Privacy and Compliance
- Automatic Protection: The block automatically protects EU users - no additional configuration needed
- Consent Management: Use raw data options only with proper legal basis
- Data Minimization: Collect only the data you actually need
- Transparency: Always inform users about data collection
- Selective Collection: Use only the actions you need (network, location, device, browser)
- Variable Mapping: Map only necessary variables to avoid bloat
- Conditional Logic: Use collected data to optimize user experience
Error Handling
- Graceful Degradation: Ensure your flow works even if user info collection fails
- Fallback Content: Provide default experiences when data is unavailable
- Validation: Verify collected data before using in critical logic
Privacy Considerations
For EU Users (Automatic)
- IP addresses are automatically anonymized (last octet removed)
- IP geolocation coordinates are reduced to ~1km precision
- Referer URLs are truncated to origin only
- User agents have detailed version info removed
For All Users
- Device and browser information is considered low-risk
- Country and city data are generally safe
- Host information poses no privacy risks
Raw Data Usage
- Use “(Raw)” variables only with proper consent
- Ensure compliance with local privacy laws
- Document your legal basis for raw data collection
Troubleshooting
Common Issues
- No Data Collected: Ensure at least one variable is mapped in response mapping
- Empty Variables: Check that the action is placed after user interaction starts
- GDPR Conflicts: Verify you have consent before using raw data options
- Location Inaccuracy: Remember that EU coordinates have reduced precision and are IP-based (not GPS)
Debugging Tips
- Test Both EU and Non-EU: Use VPN to test different regional behaviors
- Check Browser Console: Network requests may provide additional debugging info
- Validate Mappings: Ensure variable names match exactly in your flows
- Monitor Privacy Flags: Use “Is EU Country” to understand protection status
Data Structure Reference
{
ip: "192.168.1.0", // Anonymized for EU
ipRaw: "192.168.1.123", // Original IP
referer: "https://example.com", // Origin only for EU
refererRaw: "https://example.com/path?param=value",
userAgent: "Mozilla/5.0 (Windows NT; Win64; x64) Chrome",
userAgentRaw: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0",
host: "yoursite.com"
}
{
country: "United States",
city: "New York",
continent: "North America",
region: "New York",
latitude: 40.71, // Reduced precision for EU (IP-based)
longitude: -74.01, // Reduced precision for EU (IP-based)
latitudeRaw: 40.7128, // Original precision (IP-based)
longitudeRaw: -74.0060, // Original precision (IP-based)
isEuCountry: false
}
Location Accuracy: Coordinates are derived from IP geolocation, which typically provides city-level accuracy (1-10km range) depending on ISP and infrastructure. This is not GPS data from the user’s device.
{
type: "mobile",
vendor: "Apple",
model: "iPhone"
}
{
name: "Chrome",
version: "120.0.0.0",
language: {
full: "en-US",
code: "en",
region: "US"
},
os: {
name: "iOS",
version: "17.1.0"
}
}
With these configurations, your Release0 agent can collect comprehensive user information while maintaining privacy compliance and providing personalized experiences across different devices, locations, and user preferences.
Important Limitations
IP Geolocation vs GPS
- What it is: Location data derived from IP address geolocation
- What it’s not: GPS coordinates from user’s device
- Accuracy: City-level accuracy (1-10km range), varies by ISP
- Source: Vercel’s geolocation headers based on IP infrastructure
Data Availability
- Location data depends on Vercel’s geolocation service
- Some corporate networks or VPNs may provide inaccurate location data
- Mobile networks may show ISP location rather than user’s actual location
- Coordinates may be null for some IP ranges
💡 Want to see how User Info can supercharge personalization? Read our Build Personalized Chatbots with User Info Integration blog post for practical examples and strategies.