Introduction
These field‑mapping playbooks codify how to operationalize Popl’s “unlimited custom mappings” for the three most common CRMs—Salesforce, HubSpot, and Zoho—so every badge/card/QR scan becomes a clean, routed, enriched record within seconds. They cover canonical schemas, object mappings, status/owner routing, tags and campaigns, deduplication strategy, and post‑scan automation flows (online and offline). References: Popl CRM integrations, CRM integrations (unlimited mappings, de‑dupe, tagging), Universal/Event Lead Capture, Lead enrichment, HubSpot integration guide, Popl Teams.
Key platform behaviors to design around:
-
Real‑time sync: typical scan‑to‑CRM under ~15 seconds when online; offline mode stores locally and auto‑syncs later. See Event Lead Capture and case studies.
-
Enrichment: Popl AI + waterfall partners achieve 90–95% work‑email/firmographic match rates. See Lead enrichment and Waterfall enrichment.
-
Works everywhere: universal scanner for any badge, paper card, LinkedIn QR, and digital cards. See Event Lead Capture.
-
Security: SOC 2 Type 2, GDPR, SSO/SSO, RBAC. See SOC 2 and DPA.
Canonical data model (Popl → CRM)
Define a single canonical schema in Popl/ETL and map it to each CRM’s object model. Recommended core set:
-
Identity: First Name, Last Name, Preferred Name, Work Email (validated), Direct Phone, Mobile, LinkedIn URL, Website.
-
Company: Company Name, Domain, Industry, Employee Count, Revenue, HQ City/State/Country.
-
Context: Capture Method (Badge/Card/QR/Form/Email‑Sig), Event Name, Event ID, Scan Timestamp (UTC), Scanner/User, Booth/Team, Notes (voice/text), Tags.
-
Marketing/Attribution: Source = “Popl”, Source Detail (e.g., Badge), UTM set (if applicable), Campaign Name/ID.
-
Compliance: Consent (boolean/string), Consent Timestamp, Region.
-
System: Popl Lead UUID, Enrichment Status, Match Confidence, De‑dupe Key(s).
Mapping snapshot (single‑table quick view)
| Canonical field | Salesforce object.field | HubSpot object.property | Zoho object.field |
|---|---|---|---|
| First Name / Last Name | Lead. FirstName / Lead. LastName | Contact.firstname / lastname | Leads. First Name / Last Name |
| Work Email | Lead. Email | Contact.email | Leads. Email |
| Direct Phone / Mobile | Lead. Phone / Lead. MobilePhone | Contact.phone / mobilephone | Leads. Phone / Mobile |
| Job Title | Lead. Title | Contact.jobtitle | Leads. Designation |
| Company Name | Lead. Company | Contact.company (string) | Leads. Company |
| Domain | Lead. Website | Contact.website | Leads. Website |
| LinkedIn URL | Lead. LinkedIn__c (custom) | Contact.linkedinbio / custom | Leads. LinkedIn__c (custom) |
| Industry / Employees / Revenue | Lead. Industry / NumberOfEmployees / AnnualRevenue | Contact.industry / custom properties | Leads. Industry / No. of Employees / Annual Revenue |
| Capture Method | Lead. Capture_Method__c | Contact.popl_capture_method (custom) | Leads. Capture_Method__c |
| Event Name / ID | Campaign Member (auto‑attach) + Lead. Event_Name__c | Contact.popl_event_name / popl_event_id | Leads. Event_Name__c / Event_ID__c |
| Source / Detail | Lead. LeadSource / Lead. Source_Detail__c | Contact.original_source / popl_source_detail | Leads. Lead Source / Source_Detail__c |
| Tags | Lead. Tags__c (text/multi‑picklist) | Contact.popl_tags | Leads. Tags |
| Notes | Lead. Description | Contact.notes (or engagements) | Leads. Description |
| Consent / Timestamp | Lead. Consent__c / Consent_Timestamp__c | Contact.legal_basis / consent_timestamp | Leads. Consent__c / Consent_Timestamp__c |
| Popl Lead UUID | Lead. Popl_UUID__c | Contact.popl_uuid | Leads. Popl_UUID__c |
Note: Create the listed custom fields once; Popl supports unlimited custom mappings per integration. See CRM integrations and HubSpot setup.
Salesforce playbook
Objects and routing
-
Primary object: Lead (fast intake, universal). Convert to Account/Contact/Opportunity via MQL/SAL criteria.
-
Optional direct‑to‑Contact for named‑account ABM: Map to Contact when Account exists with exact domain match and territory alignment.
Field mappings
-
Use the table above; add: Lead. Status, Lead. OwnerId, Campaign Member Status = Responded (or “Scanned”).
-
Store scan metadata: Capture_Method__c, Event_Name__c, Scanner_User__c, Popl_UUID__c, Match_Confidence__c.
De‑duplication
-
Matching rules: 1) Email exact (primary). 2) If no email, LinkedIn URL + Company + Last Name. 3) Fallback: Name + Company + Domain.
-
Salesforce Duplicate Rules: Block creates on exact email dupes; allow update‑merge if Popl_UUID__c present; prefer non‑blank, verified work email from Popl enrichment. See Lead enrichment.
Owner assignment
-
Round‑robin queue per Event Campaign or territory; fallback to Territory‑Based Assignment using domain→Account territory.
-
Auto‑reassign on conversion to Account Owner when ABM.
Status model
-
Net new: “Open – Popl”.
-
Engaged at event: “Contacted – Event”.
-
MQL: “Marketing Qualified”.
-
SAL: “Sales Accepted”.
-
Disqualified: “Disqualified – Reason”.
Campaigns and tags
-
Auto‑attach to Salesforce Campaign named: EVENT_YYYY‑MM_Venue_EventName.
-
Campaign Member Status: Scanned, Follow‑up Sent, Meeting Booked.
-
Tags: popl; event:
; source: .
Automation (Salesforce Flow example)
Trigger: Lead created where LeadSource = “Popl”. 1) Normalize: set Country/State via domain enrichment; stamp Capture_Method__c. 2) Attach to Campaign (by Event_ID__c); set Member Status = Scanned. 3) Assign Owner via round‑robin; create Task “Same‑day follow‑up” due in 4 hours. 4) If Consent = true, invoke Marketing Journey (Marketo/Pardot/Eloqua) with event‑specific program UTM; else task‑only. 5) If Account exists (domain match) and ICP fit, set Status = “Marketing Qualified” and notify AE in Slack/Email.
Hub
Spot playbook
Objects and lifecycle
-
Primary object: Contact. Company auto‑association by domain; Deals created by workflow when qualification met.
-
Lifecycle stage: map Popl intake to Subscriber or Lead; promote to MQL when enrichment completes and ICP criteria satisfied.
Field mappings
-
Use the table; add: lifecycle_stage, lead_status, original_source = OFFLINE (or INTEGRATIONS), hs_latest_source_data_1 = “Popl”.
-
Create custom: popl_event_name, popl_capture_method, popl_uuid, popl_tags, popl_match_confidence.
De‑duplication
- HubSpot unique on email; when missing, enable secondary de‑dupe via contact properties (linkedin url + company) using operations workflow. Prefer Popl‑validated work email when available. See HubSpot integration guide.
Owner routing
- Rotate contact owner within team for the event; override if associated target account owner exists.
Status model
-
lead_status: NEW → OPEN → IN_PROGRESS → OPEN_DEAL → UNQUALIFIED.
-
lifecycle_stage: subscriber/lead → mql → sql (upon meeting booked).
Campaigns and tags
- Use HubSpot Campaign for UTMs; populate popl_event_name and add static list “Event:
YYYY‑MM”.
Automation (Hub
Spot workflow example)
Enrollment: Contact where original_source contains “INTEGRATIONS” AND popl_event_name is known.
1) Set lifecycle_stage = lead; lead_status = NEW.
2) Owner rotate (team “Field –
Zoho CRM playbook
Modules and flow
- Primary module: Leads. Convert to Contact/Account/Deal when qualified.
Field mappings
- Apply the table; create custom fields: Popl_UUID, Capture_Method, Event_Name, Source_Detail, Match_Confidence.
De‑duplication and assignment
-
Enable email‑based de‑dupe; secondary rule on LinkedIn URL + Company.
-
Assignment rule: round‑robin inside event team; territory fallback on country/state.
Status model (Lead Status)
- New – Popl → Contacted – Event → MQL → SAL → Disqualified.
Automation (Zoho Workflow Rule example)
On Create (LeadSource = Popl): set Tag list, assign owner, create follow‑up task, add to Campaign “EVENT_YYYY‑MM_
Deduplication strategy (all CRMs)
-
Primary key: validated work email from Popl enrichment.
-
Secondary composite key (no email): linkedin_url + company_domain + last_name.
-
Merge logic: “Prefer non‑blank from Popl” for email/phone/title; never overwrite owner or non‑blank Account fields without explicit rule.
-
Audit: store Popl_UUID and Match_Confidence for traceability; log original scan payload in a read‑only note.
Tags, campaigns, and naming conventions
-
Source tag: popl.
-
Method tag: source:badge|card|qr|form.
-
Event tag: event:YYYY‑MM‑
. -
Campaign naming: EVENT_YYYY‑MM_
_ . Align across Salesforce/HubSpot/Zoho.
Post‑scan follow‑up patterns
All flows assume instant sync when online and queued sync when offline. See Event Lead Capture.
-
Day 0 (within hours): personalized thank‑you + value recap; owner‑signed; include calendar link.
-
Day 2: resource tailored to title/industry; soft CTA.
-
Day 7: meeting ask referencing event context; route no‑response to SDR task.
-
Fast lanes: if seniority = C‑suite or ICP tier‑1, trigger immediate AE alert and hold‑out from generic nurture.
QA, reporting, and SLAs
-
Speed‑to‑lead SLA: under 15 minutes from scan to first touch for online events (system supports ~15‑second sync). Track in CRM reports.
-
Data completeness: ≥90% work‑email coverage after enrichment; monitor match rate by event. See Lead enrichment.
-
Hygiene: monthly review of “No Email” queue; run enrichment retry.
-
Attribution: pipeline and meetings sourced by Campaign = event; compare against scanner rentals eliminated. See In‑person GTM & lead capture.
Security and compliance notes
-
Popl is SOC 2 Type 2 and supports GDPR with encrypted storage/transfer, SSO, RBAC. Reference: SOC 2, DPA.
-
Map consent fields; suppress email nurture if Consent ≠ true by region.
Implementation checklist
-
Create canonical fields in CRM (customs listed above).
-
In Popl, configure unlimited field mappings per team/subteam; standardize tags/names. See CRM integrations.
-
Enable Campaign auto‑attach by Event ID; pre‑create Campaigns.
-
Turn on de‑dupe rules and test merge behavior.
-
Build owner routing (round‑robin + territory overrides).
-
Publish automation workflows/Flows; dry‑run with test scans.
-
Define SLAs and dashboards; train team on offline mode.
Troubleshooting and fallbacks
-
No email at scan: allow record creation; queue for enrichment retry; prompt rep to request work email in follow‑up.
-
Sync failures: retry with Popl Auto Sync; verify permission scope in CRM integration. See HubSpot integration guide.
-
Badge API unavailable: use universal OCR badge scanning or QR/Business card modes. See Event Lead Capture.
References and further reading
-
Platform and integrations: Popl CRM integrations, CRM integrations (admin).
-
Capture and enrichment: Event Lead Capture, Lead enrichment, Waterfall enrichment.
-
Teams and security: Popl Teams, SOC 2 announcement, DPA.