WPDM – HubSpot CRM Integration connects WordPress Download Manager Pro with HubSpot CRM, automatically pushing leads collected through WPDM’s email lock feature directly into your HubSpot account. Every time a visitor submits their email to unlock a download, their contact information is synced to HubSpot in real time.
Key Features
- Automatic Lead Capture – Contacts are created or updated in HubSpot the moment a user submits the email lock form
- Smart Contact Sync – Searches for existing contacts by email before creating duplicates; updates existing records with the latest information
- Download Activity Notes – Logs each download as a timeline note on the contact record, including package name, date, and URL
- Contact List Assignment – Optionally add new leads to a specific HubSpot contact list (static/manual lists supported)
- Custom Field Mapping – Map any WPDM form field to any HubSpot contact property for complete data flexibility
- No Vendor Dependencies – Uses WordPress native HTTP functions (
wp_remote_post / wp_remote_get) — no external PHP libraries or SDKs required
- HubSpot CRM v3 API – Built on the latest HubSpot API version for reliability and forward compatibility
- Private App Authentication – Secure Bearer token authentication using HubSpot Private Apps or the new Developer Projects platform
How It Works
- A visitor fills out the email lock form on a WPDM package page
- The plugin captures the submitted name, email, and any custom fields
- It searches HubSpot for an existing contact with that email address
- If found, the contact is updated; if not, a new contact is created
- A note is added to the contact’s timeline with the package name and download date
- Optionally, the contact is added to a selected HubSpot list
Setup Guide
Follow these steps to connect WPDM with your HubSpot account:
- Install and activate WPDM – HubSpot (
wpdm-hubspot.zip)
- Go to Admin Menu → Downloads → Settings → HubSpot tab
- Create a Private App in your HubSpot account:
- Go to HubSpot Settings → Integrations → Private Apps
- Click Create a private app
- Under the Scopes tab, enable:
crm.objects.contacts.read
crm.objects.contacts.write
crm.lists.read (optional, for list assignment)
crm.lists.write (optional, for list assignment)
- Click Create app and copy the Access Token
- Paste the access token in the WPDM HubSpot settings page
- Click Save Settings — you should see a green “Connected successfully” indicator
- (Optional) Select a Contact List to auto-assign new leads
- (Optional) Add Custom Field Mappings for additional form fields
- That’s it! New email lock submissions will now sync to HubSpot automatically
Field Mapping
The following fields are mapped automatically:
| WPDM Form Field |
HubSpot Property |
| Email |
email |
| Name (first word) |
firstname |
| Name (remaining) |
lastname |
You can add unlimited custom mappings from the settings page to sync additional form fields (company, phone, job title, etc.) to any HubSpot contact property.
HubSpot API Endpoints Used
| Action |
API Endpoint |
| Search contacts |
POST /crm/v3/objects/contacts/search |
| Create contact |
POST /crm/v3/objects/contacts |
| Update contact |
PATCH /crm/v3/objects/contacts/{id} |
| Create note |
POST /crm/v3/objects/notes |
| Associate note |
PUT /crm/v3/objects/notes/{id}/associations/contacts/{id} |
| Search lists |
POST /crm/v3/lists/search |
| Add to list |
PUT /crm/v3/lists/{id}/memberships/add |
Requirements
- WordPress 5.0+
- PHP 7.4+
- WordPress Download Manager Pro
- A HubSpot account (Free CRM or any paid plan)
- A HubSpot Private App with contact read/write scopes
Why Use WPDM – HubSpot?
| Feature |
WPDM – HubSpot |
Manual Export |
| Lead Sync |
Real-time, automatic |
Manual CSV export/import |
| Duplicate Handling |
Auto-detect & update |
Manual deduplication |
| Download Tracking |
Timeline notes per download |
No tracking |
| List Management |
Auto-assign to lists |
Manual assignment |
| Custom Fields |
Flexible field mapping |
Limited by CSV columns |
| Setup Time |
Under 5 minutes |
Ongoing manual effort |
[changelog]