PixelfarbenHome
In the Shopware StoreCRM

HubSpot CRM Integration

Customers, orders and products from Shopware into HubSpot — event-driven or on a schedule.

Shopware Store: HubSpot CRM Integration (by Pixelfarben)

Pricing and billing in the Shopware Store

At a glance

  • Customers, orders, products and newsletter recipients in one pass
  • Event-driven through three Flow Builder actions, or time-based
  • Background queue in blocks of 100 objects, interrupted runs resume
  • Credentials encrypted with AES-256-GCM, optionally per sales channel
  • Works on free HubSpot portals too

Features

Customers become contacts, B2B customers also companies
Shopware customers arrive as HubSpot contacts. For B2B customers an additional company record is created with VAT ID, department and address, and it is updated when details change.
Orders as native HubSpot orders
HubSpot has had a dedicated order object since 2024. The extension populates it including line items, billing and shipping addresses and tracking numbers. Fulfilment status is derived from the Shopware order state.
Orders as deals — optionally in parallel
If your pipeline lives in HubSpot deals, orders can be created as deals in addition to or instead of orders, with pipeline, stage and owner assignment.
Products into the HubSpot product library
Products are transferred, optionally filtered by category. Prices land in dedicated properties per sales channel currency, so portals without native price fields work too.
Three Flow Builder actions
Create contact, create deal and create order are available as flow actions. That lets you attach the transfer to whatever business process already exists.
Scheduled synchronisation
Manual, daily, weekly or monthly. Changing the interval in the configuration rewrites the Shopware task directly — no console command needed.
Initial import wizard
A four-step wizard imports existing data. Filter by date range, customer group, order and payment state or minimum order value, with a live count of affected records before you start.
Computed contact properties
Total revenue, order count, average order value, first and last order date, B2B or B2C classification, customer lifetime in days, and inactivity beyond a year.
Map your own fields
Shopware custom fields can be mapped onto HubSpot properties. If the target property does not exist, it can be created in HubSpot straight from the interface.
Connect via token or OAuth
Either a private app token or OAuth 2.0. Credentials are stored encrypted in a dedicated table, and token refresh is locked against concurrent access.
Console commands
Products, customers and orders can be synchronised from the CLI — useful for deployments, cron jobs and troubleshooting.
Tracking code per sales channel
The HubSpot tracking code can be embedded in the storefront per sales channel without touching the theme.

Shopware compatibility

Shopware compatibility per extension
Extension6.06.16.26.36.46.56.66.7
HubSpot CRM Integration6.0 — Not supported6.1 — Not supported6.2 — Not supported6.3 — Not supported6.4 — Not supported6.5 — Not supported6.6 — Not supported6.7 — Supported
LegendSupportedNot supported

Requirements

  • Shopware 6.7
  • A HubSpot portal with a private app token or OAuth access
  • A running Symfony Messenger worker for background synchronisation
  • Advanced features via Shopware in-app purchases

Frequently asked questions

Is data written back from HubSpot into Shopware?
No. Synchronisation runs from Shopware into HubSpot. The only thing coming back to Shopware is the HubSpot object ID, stored in a custom field as a reference so the same record is found and updated on the next run instead of being duplicated.
Does it work with a free HubSpot account?
Yes. Since version 2.1.20 the extension reads the target portal's property schema up front and only sends fields that actually exist there. Prices are written to dedicated properties that do not depend on paid HubSpot fields.
Do I need a running worker?
For anything beyond small data volumes, yes. Transfers run through the Shopware message queue so the browser does not need to stay open. Without a running worker the jobs simply wait in the queue.
What happens with tens of thousands of records?
The extension splits the run into blocks of 100 objects and works through them sequentially. If a run is interrupted it resumes from the last position instead of starting over.
Can different sales channels connect to different HubSpot portals?
Yes. Credentials can be stored per sales channel. Where no channel-specific entry exists, the global configuration applies.

Other extensions

In reviewIntegrations & middleware

n8n Connector

Products, customers and orders as JSON to n8n webhooks — automation without building your own integration.

Technical name
vlp8n
Shopware compatibility
6.7.0.0 – 6.7.10.1
In the Shopware StoreCheckout & cart process

SocialConnect

Sign in with a Google or Amazon account — fewer steps between cart and first order.

Technical name
VLPSocialLogin
Shopware compatibility
6.5.0.0 – 6.7.12.2
In the Shopware StoreCheckout & cart process

Split street and house number

Two separate checkout fields instead of one — while the backend still receives the plain Shopware address field.

Technical name
VLPCustomFields
Shopware compatibility
6.0.0.0 – 6.7.12.2