Salesforce Integration
Automatically capture WiFi guest information from your captive portal and sync leads and contacts to Salesforce CRM for lead generation, customer tracking, and marketing automation workflows.
Overview
The Salesforce integration enables:
- Lead capture from WiFi guests
- Contact creation and updates
- Campaign tracking across touchpoints
- Marketing automation triggers
- Customer journey tracking from WiFi to sale
Prerequisites
- IronWifi account with captive portal configured
- Salesforce account (Sales Cloud, Marketing Cloud, or higher)
- Salesforce API access (available in Enterprise Edition and above)
- Admin permissions to create Connected Apps
Salesforce Setup
Step 1: Create Connected App
- Log in to Salesforce
- Go to Setup (gear icon)
- In Quick Find, search App Manager
- Click New Connected App
- Configure basic information:
- Connected App Name: IronWifi Integration
- API Name: IronWifi_Integration
- Contact Email: Your email
- Enable OAuth Settings:
- Callback URL:
https://console.ironwifi.com/oauth/callback - Selected OAuth Scopes:
- Full access (full)
- Perform requests at any time (refresh_token, offline_access)
- Access and manage your data (api)
- Callback URL:
- Click Save
- Wait 2-10 minutes for the app to propagate
Step 2: Get API Credentials
- Go back to App Manager
- Find your IronWifi Integration app
- Click the dropdown > View
- Click Manage Consumer Details
- Copy:
- Consumer Key (Client ID)
- Consumer Secret (Client Secret)
Step 3: Configure API Access
- Go to Setup > Users > Profiles
- Edit the profile used for integration
- Enable API access permissions:
- API Enabled
- View All Data (or specific object permissions)
- Save changes
IronWifi Configuration
Step 1: Add Salesforce Integration
- Log in to IronWifi Console
- Navigate to Networks > Captive Portals
- Select your captive portal
- Go to Integrations tab
- Click Add Integration > Salesforce
Step 2: OAuth Authentication
- Click Connect to Salesforce
- Enter your Salesforce credentials
- Authorize IronWifi to access your Salesforce data
- Confirm the connection
- IronWifi will store OAuth tokens securely
Alternative: Manual Configuration
- Instance URL: Your Salesforce instance (e.g.,
https://yourcompany.salesforce.com) - Consumer Key: From Connected App
- Consumer Secret: From Connected App
- Username: Salesforce integration user
- Password + Security Token: Combined
Step 3: Configure Object Mapping
Choose how WiFi guest data maps to Salesforce:
Option A: Create Leads Best for unknown visitors (potential customers)
Option B: Create Contacts Best for known customers or members
Option C: Create Both Create leads first, convert to contacts after qualification
Step 4: Field Mapping
Map captive portal fields to Salesforce fields:
For Leads
| Portal Field | Salesforce Field | Required |
|---|---|---|
| Yes | ||
| First Name | FirstName | No |
| Last Name | LastName | Yes |
| Phone | Phone | No |
| Company | Company | Yes |
| Location | Description or Custom Field | No |
| Visit Date | Custom Field: Last_WiFi_Visit__c | No |
For Contacts
| Portal Field | Salesforce Field | Required |
|---|---|---|
| Yes | ||
| First Name | FirstName | No |
| Last Name | LastName | Yes |
| Phone | Phone | No |
| Company | Account (lookup) | No |
| Location | MailingCity or Custom Field | No |
Step 5: Sync Settings
Configure synchronization behavior:
| Setting | Description | Recommendation |
|---|---|---|
| Create New Records | Create leads/contacts for new guests | Enabled |
| Update Existing | Update if email exists | Enabled |
| Duplicate Check | Check for duplicates before creating | Enabled |
| Campaign Association | Link to Salesforce Campaign | Optional |
| Lead Source | Set lead source value | "WiFi Portal" |
| Lead Status | Initial status for new leads | "New" or "Unqualified" |
| Sync Frequency | Real-time or batched | Real-time |
Data Synchronization
Guest Signup Flow
- Guest connects to WiFi
- Submits information on captive portal
- IronWifi validates data
- Data sent to Salesforce API
- Lead/Contact created or updated
- Associated with Campaign (optional)
- Workflow rules triggered in Salesforce
Captured Data
Standard fields available:
- Email address (required)
- Name (first and last)
- Phone number
- Company name
- WiFi location/venue
- Connection timestamp
- Authentication method
- Device information
- MAC address (if enabled)
- Custom form fields
Visit Tracking
Track repeat visits with custom fields:
Custom Fields to Create:
- Total_WiFi_Visits__c (Number)
- Last_WiFi_Visit__c (DateTime)
- First_WiFi_Visit__c (DateTime)
- WiFi_Location__c (Text)
- Total_WiFi_Time__c (Number - minutes)
Salesforce Campaign Integration
Create WiFi Campaign
- In Salesforce, go to Campaigns
- Click New
- Configure campaign:
- Name: WiFi Guest Acquisition - [Location]
- Type: Guest WiFi
- Status: In Progress
- Start Date: Today
- Note the Campaign ID
Link to IronWifi
- In IronWifi integration settings
- Enter Campaign ID
- Enable Add to Campaign
- Set Campaign Member Status: "Responded" or "Sent"
- Save configuration
Campaign Tracking
Track performance in Salesforce:
- Campaign Members: All WiFi guests
- Responses: Guests who opted in
- Converted Leads: Guests who became customers
- Campaign ROI: Revenue attributed to WiFi guests
Lead Management
Lead Assignment Rules
Configure automatic assignment:
- In Salesforce, go to Setup > Lead Assignment Rules
- Create rule:
- Name: WiFi Lead Routing
- Criteria: Lead Source = "WiFi Portal"
- Assign to: Queue or User based on location
- Activate the rule
- IronWifi will trigger assignment on creation
Lead Qualification
Set up lead scoring:
High Priority Indicators:
- Multiple visits
- Long session duration
- Contact information provided
- Marketing consent given
- Specific location visits
Lead Score Calculation:
Points = (Visits × 10) + (Total_Hours × 5) + (Consent ? 20 : 0)
Lead Conversion
Process for converting WiFi guests to opportunities:
- Sales rep reviews lead
- Qualifies based on engagement
- Converts lead to:
- Contact
- Account
- Opportunity (if sales potential)
- Continue nurturing in sales process
Marketing Automation
Process Builder Workflows
Create automated workflows triggered by WiFi data:
Welcome Workflow:
- Trigger: Lead created from WiFi Portal
- Wait 1 hour
- Send welcome email via Marketing Cloud
- Add to nurture campaign
- Notify sales if high-value location
Re-engagement Workflow:
- Trigger: Last_WiFi_Visit__c > 30 days ago
- Send "We miss you" email
- Include special offer/coupon
- Track response
VIP Recognition:
- Trigger: Total_WiFi_Visits__c > 10
- Update Lead Status to "VIP"
- Assign to account manager
- Send loyalty reward
Marketing Cloud Integration
For advanced marketing automation:
- Journey Builder: Create customer journeys based on WiFi behavior
- Email Studio: Send personalized emails to WiFi guests
- Mobile Studio: Send SMS to returning guests
- Social Studio: Engage on social media
- Advertising Studio: Retarget WiFi guests with ads
Pardot Integration
For B2B marketing automation:
- Sync WiFi leads to Pardot
- Score based on engagement
- Trigger drip campaigns
- Track email engagement
- Hand off qualified leads to sales
Custom Development
Apex Triggers
Example trigger to process WiFi guest data:
trigger WiFiGuestTrigger on Lead (after insert, after update) {
for (Lead lead : Trigger.new) {
if (lead.LeadSource == 'WiFi Portal') {
// Custom logic
if (lead.Total_WiFi_Visits__c > 5) {
lead.Rating = 'Hot';
lead.Status = 'Working';
}
}
}
}
REST API Integration
For custom integrations, use Salesforce REST API:
POST /services/data/v58.0/sobjects/Lead
Authorization: Bearer {access_token}
Content-Type: application/json
{
"FirstName": "John",
"LastName": "Doe",
"Email": "john@example.com",
"Company": "Acme Corp",
"LeadSource": "WiFi Portal",
"WiFi_Location__c": "Downtown Store"
}
Analytics and Reporting
Standard Reports
Create reports to track WiFi guest performance:
1. WiFi Lead Conversion Report
- Show: Leads from WiFi Portal
- Group by: Location, Date
- Columns: Total Leads, Converted, Conversion Rate
- Filter: LeadSource = "WiFi Portal"
2. WiFi Engagement Report
- Show: Contacts with WiFi data
- Group by: Total_WiFi_Visits__c
- Columns: Name, Email, Visits, Last Visit
- Sort: By Total Visits descending
3. WiFi Revenue Attribution
- Show: Opportunities with WiFi campaign
- Group by: Campaign Name
- Columns: Opportunity Amount, Stage, Close Date
- Sum: Total Revenue from WiFi guests
Dashboards
Create executive dashboard:
Components:
- WiFi Leads by Location (Bar chart)
- Daily Guest Signups (Line chart)
- Lead Conversion Rate (Gauge)
- Revenue from WiFi Guests (Metric)
- Top Locations by Guests (Table)
- Repeat Visitor Percentage (Donut chart)
Einstein Analytics
For advanced analytics:
- Create WiFi Guest dataset
- Build predictive models for conversion
- Identify high-value guest patterns
- Optimize location performance
Multi-Location Management
Location-Based Campaigns
Create separate campaigns per location:
WiFi - Downtown Store
WiFi - Airport Location
WiFi - Hotel Lobby
WiFi - Conference Center
Map each captive portal to its campaign.
Regional Assignment
Route leads to regional sales teams:
- Create custom field: WiFi_Region__c
- Map IronWifi locations to regions
- Use assignment rules based on region
- Track performance by region
Franchise Management
For franchise operations:
- Create Account for each franchise
- Link contacts to franchise Account
- Roll up metrics to franchise owner
- Compare performance across franchises
Security and Compliance
Data Privacy
GDPR Compliance:
- Collect explicit consent on portal
- Map consent to Salesforce field
- Use Salesforce GDPR features
- Process data deletion requests
- Maintain audit trail
CCPA Compliance:
- Provide opt-out mechanism
- Allow data access requests
- Enable data deletion
- Maintain compliance records
Field-Level Security
Protect sensitive data:
- Restrict MAC address field access
- Limit device information visibility
- Use profile permissions
- Enable field audit trail
API Security
Best practices:
- Use OAuth 2.0 authentication
- Rotate credentials regularly
- Use dedicated integration user
- Monitor API usage limits
- Enable IP restrictions if needed
Troubleshooting
Records Not Creating
Check:
- Verify OAuth connection is active
- Confirm required fields are mapped
- Review field-level security settings
- Check validation rules aren't blocking
- Review IronWifi sync logs
- Verify API limits not exceeded
Common Issues:
- Missing required fields (LastName, Company for Leads)
- Duplicate rules blocking creation
- Validation rules failing
- Inactive user for integration
- API usage limit exceeded
Duplicate Records
Solutions:
- Enable Salesforce duplicate management
- Use duplicate rules to match on email
- Configure auto-merge settings
- Enable "Update Existing" in IronWifi
- Use external ID field for matching
Best Practice:
- Use email as unique identifier
- Create matching rule on email
- Set duplicate rule to block or alert
- Regularly clean duplicates
Field Mapping Errors
Issues:
- Field doesn't exist in Salesforce
- Field type mismatch (text vs number)
- Field not accessible to integration user
- Picklist value not valid
- Date format incorrect
Resolution:
- Verify field API names
- Check field permissions
- Validate data types match
- Review error logs
- Test with sample data
API Limit Errors
Salesforce API limits:
- Enterprise: 1,000 calls/day per user
- Unlimited: 5,000 calls/day per user
- Performance: 10,000 calls/day per user
Solutions:
- Use batch sync instead of real-time
- Optimize API calls with bulk operations
- Upgrade Salesforce edition
- Purchase additional API calls
- Implement queueing system
OAuth Token Expiration
Symptoms:
- Sync suddenly stops working
- Authentication errors in logs
- "Invalid grant" error messages
Resolution:
- Re-authenticate in IronWifi
- Verify refresh token is working
- Check Connected App settings
- Confirm user still has API access
- Review OAuth policies
Performance Optimization
Batch Processing
For high-volume locations:
- Enable batch sync mode
- Set batch interval (e.g., every 15 minutes)
- Process records in bulk API calls
- Monitor batch job status
Indexing
Improve query performance:
- Create custom indexes on:
- Email field
- WiFi_Location__c
- Last_WiFi_Visit__c
- Use external ID field for updates
Asynchronous Processing
Use async workflows:
- Configure Process Builder for after commit
- Use @future methods in Apex
- Implement queueable jobs
- Use platform events
Use Cases
Retail Stores
Guest WiFi → Sales:
- Customer connects to store WiFi
- Lead created in Salesforce
- Sales associate receives notification
- Offers assistance while in store
- Tracks in-store → online conversion
Hotels and Hospitality
Guest Experience:
- Guest connects to hotel WiFi
- Contact created with stay dates
- Triggers welcome workflow
- Service requests tracked
- Post-stay follow-up automated
- Loyalty program updates
Shopping Malls
Tenant Attribution:
- Shopper connects to mall WiFi
- Location tracked by access point
- Visits to specific stores logged
- Provides data to tenants
- Attributes sales to WiFi program
Events and Conferences
Lead Capture:
- Attendee connects to event WiFi
- Lead created with event campaign
- Session attendance tracked
- Follow-up triggered post-event
- Measures event ROI
Airports and Transit
Passenger Engagement:
- Traveler connects to airport WiFi
- Contact captured with flight info
- Retargeting campaigns enabled
- Loyalty program integration
- Amenity promotion
Best Practices
-
Start Simple
- Begin with basic lead creation
- Add complexity gradually
- Test thoroughly before scaling
-
Clean Data
- Validate email addresses
- Standardize phone formats
- Use consistent naming conventions
- Regularly deduplicate
-
Monitor Performance
- Track sync success rates
- Monitor API usage
- Review conversion metrics
- Set up alerts for failures
-
Respect Privacy
- Collect consent explicitly
- Honor opt-out requests
- Secure sensitive data
- Maintain compliance
-
Optimize Workflows
- Avoid unnecessary automation
- Use bulk operations
- Implement error handling
- Document processes
-
Train Users
- Educate sales team on WiFi leads
- Provide handling guidelines
- Share success metrics
- Gather feedback
Cost Considerations
Salesforce Edition Requirements
| Edition | API Access | Recommended For |
|---|---|---|
| Professional | Add-on required | Not recommended |
| Enterprise | Included | Small to medium deployments |
| Unlimited | Included | Large deployments |
| Performance | Included | High-volume locations |
Additional Costs
- API calls: May require purchase of additional capacity
- Marketing Cloud: Separate license for advanced automation
- Pardot: Separate license for B2B marketing
- Data storage: Additional contacts may incur storage fees
Support Resources
- Salesforce Developer Documentation
- Salesforce REST API Guide
- Salesforce Trailhead - Free training
- Salesforce API Limits
- IronWifi Support: support@ironwifi.com