Shopify to HubSpot Sync Mapper
Paste Shopify customer or order JSON and get a HubSpot-ready properties payload, a field mapping table, and a sync checklist. Free, deterministic, and 100% private.
At a glance
Shopify to HubSpot Sync Mapper is a free, client-side tool that turns pasted Shopify customer or order JSON into a HubSpot-ready properties payload: heuristic field mapping, a mapping trace, a validation report, and a sync checklist. It prepares the mapping; the live sync runs in your own automation setup. Nothing is uploaded.
100% Client-Side Mapping
Your store JSON is parsed strictly in local browser memory. Zero uploads, zero servers, zero sign-up.
| Source path | HubSpot property | Value | Status | Note |
|---|
What does the field mapping table show?
A Shopify record is a JSON object describing a customer or an order in a store; a HubSpot property is one named field on a CRM contact or deal that the payload fills. These are the exact deterministic rule tables the mapper applies — property names are heuristic defaults, so verify them in your own HubSpot account.
| Customer source field | HubSpot contact property | Notes |
|---|---|---|
| Required; the dedupe/upsert key for contacts. | ||
| first_name | firstname | Skipped when absent. |
| last_name | lastname | Skipped when absent. |
| phone | phone | Skipped when absent. |
| default_address.address1 | address | Street address. |
| default_address.city | city | City text. |
| default_address.province_code | state | Region code as stored. |
| default_address.zip | zip | Postal code. |
| default_address.country_code | country | ISO country code as stored. |
| id | shopify_customer_id | Custom property suggestion; ids are sent as text. |
| default_address.address2 | not mapped | Append it to address or create a custom property. |
| Order source field | HubSpot deal property | Notes |
|---|---|---|
| name | dealname | Required; falls back to order_number. |
| current_total_price | amount | Falls back to total_price; validated as numeric. |
| currency | shopify_order_currency | Custom property suggestion. |
| id | shopify_order_id | Custom property suggestion; ids are sent as text. |
| created_at | shopify_order_created_at | Custom property suggestion; value kept as stored. |
| line_items | not mapped | Line-item-level sync is out of scope here; see the checklist. |
| customer | not mapped | A contact link is an association in HubSpot, not a deal property. |
| any other field | not mapped | Listed in the trace; add it as a custom property in your automation if needed. |
How does the mapper validate required fields?
Validation runs deterministically over every pasted record and reports warnings and notes before you copy anything.
| Check | Result |
|---|---|
| Contact email missing | Warning: the upsert-by-email key needs a value. |
| Email format looks invalid | Warning naming the record and value. |
| Deal dealname missing (both name and order_number absent) | Warning. |
| Deal amount missing or not numeric | Warning naming the value. |
| Numeric id beyond JavaScript's safe integer range | Warning: paste ids as quoted strings for exact values. |
| Shape not recognized / mixed customer+order batch | Warning to pick the target or split the batch. |
| Batch larger than 100 records | Warning to send bounded batches within plan API limits. |
Sync checklist and limitations
Use this checklist in your own automation; this page prepares and validates the mapping and never connects to your Shopify or HubSpot account.
- Contacts: upsert on email so re-runs update instead of duplicating.
- Deals: store the Shopify order id on the record so re-runs match the same deal.
- Idempotency is your automation's job; the payload itself does not enforce uniqueness.
- Send bounded batches and check your HubSpot plan's API limits before bulk runs.
- Link each deal to its contact as an association in your automation.
- Sync line-item and product-level data separately from this header-level mapping.
- This mapping is one-way (Shopify → HubSpot) by default; decide explicitly what should ever sync back.
- Verify every mapped property name in your own HubSpot account — names here are heuristic defaults, not a vendor specification.
Why Use This Shopify to HubSpot Sync Mapper?
How to Use Shopify to HubSpot Sync Mapper
Paste a Shopify record
Paste a customer or order JSON (or load a built-in sample); multiple records can be one JSON array or one per line.
Check the mapping and validation
Review the field mapping table, the target object (contact or deal), and the validation report; unmapped fields are listed with notes.
Copy the payload and follow the checklist
Copy or download the HubSpot properties payload, then use the sync checklist for dedupe keys, idempotency, and batch notes.
Worked example: Shopify customer JSON to a HubSpot properties payload
The engine flattens the pasted record deterministically, applies the documented contact mapping table (email is required; nested default_address.* fields map to address/city/state/zip/country), suggests shopify_customer_id as a custom property for the Shopify id, and emits the HubSpot properties payload plus a per-field trace and validation report.
{"id":6512345678901,"email":"asha@example.com","first_name":"Asha","last_name":"Rai","phone":"+9779800000000","default_address":{"address1":"Thamel Marg 12","city":"Kathmandu","province_code":"BA","zip":"44600","country_code":"NP"}}
{"properties":{"email":"asha@example.com","firstname":"Asha","lastname":"Rai","phone":"+9779800000000","address":"Thamel Marg 12","city":"Kathmandu","state":"BA","zip":"44600","country":"NP","shopify_customer_id":"6512345678901"}} - trace: 10 fields traced (9 mapped + 1 custom suggestion), 0 missing; validation: 0 warnings (email present).
Technical Specifications & Engine Details
| Specification | Details |
|---|---|
| Input | Shopify customer or order JSON (single object, JSON array, or one record per line) |
| Output | HubSpot-shaped properties payload (JSON) + mapping trace (CSV) + validation report + sync checklist |
| Mapping Rules | 11 contact rule rows and 8 deal rule rows documented as static tables on this page |
| Execution Mode | 100% Client-Side In-Browser (client) - no network calls, no credentials |
| Property Names | Heuristic defaults labeled for verification in your own HubSpot account; no vendor specification claims |
| Privacy | Parsing, mapping, validation, and export stay in local browser memory; nothing is uploaded |
100% Client-Side Privacy Guarantee
Your pasted store records remain strictly in local browser memory - parsing, mapping, validation, and export all happen client-side with zero uploads. This page never contacts Shopify or HubSpot.
Frequently Asked Questions
How do I sync Shopify customers to HubSpot?
How do I map a Shopify order to a HubSpot deal?
Do the suggested shopify_ custom properties exist in my HubSpot account?
Is my store data uploaded anywhere?
Methodology
Field mappings are heuristic defaults based on the Shopify fields shown. Review them against your HubSpot properties before use; property names can differ between accounts.
Last updated .