Adobe Commerce and HubSpot CRM Integration

Adobe Commerce and HubSpot CRM Integration

Your store knows who bought what. Your sales and marketing team works in HubSpot. We connect the two so registrations, address changes, quotes, orders and newsletter sign-ups reach HubSpot as contacts, list members and workflow triggers. No CSV exports.

Can you integrate HubSpot with Adobe Commerce or Magento Open Source?

Yes. Evrig's free HubSpot Customer Sync extension sends Adobe Commerce customers to HubSpot Contacts through the HubSpot v3 API, in real time on registration, account edits and address saves, plus a scheduled bulk sync. Order sync, quote sync, newsletter sync and HubSpot workflows are added on top, built around which data your team actually uses. On Adobe Commerce as a Cloud Service, the integration runs out of process on Adobe App Builder, triggered by Commerce events.

We built and maintain HubSpot Customer Sync on the Adobe Commerce Marketplace, so your project starts from tested code, not a blank module. It runs on Adobe Commerce on cloud infrastructure, Adobe Commerce on-premises and Magento Open Source. On Adobe Commerce as a Cloud Service (SaaS), where PHP extensions can't be installed, we build the same sync as an Adobe App Builder app.

HubSpot

Who this is for, and who should skip us

This page is for teams in one of these situations:

Stores on Adobe Commerce Cloud (cloud infrastructure), Adobe Commerce as a Cloud Service (SaaS), Adobe Commerce on-premises, Magento Open Source or Mage-OS that run HubSpot, or are moving to it

B2B sellers whose reps need to see quotes and order history before they call a customer

Marketing teams that want to segment by the products people actually bought

Stores whose existing connector syncs everything, and the team still can't find what they need

Where we'd tell you to do it yourself.

If you only need registered customers in HubSpot, install our free extension and configure it in an afternoon. You don't need an agency for that. Call us when you need orders, quotes, workflows, or a broken integration fixed.

How the Adobe Commerce to HubSpot integration works, in plain terms

Think of it as four layers:

01

Adobe Commerce events. A customer registers, edits their account, saves an address, subscribes to the newsletter, creates a quote or places an order.

02

The sync module. It picks up the event and sends the record to HubSpot through the v3 API, with retry logic and rate-limit protection. A cron job (every 6 hours by default) catches anything the live sync missed.

03

HubSpot records. Customers become Contacts. The HubSpot contact ID is stored back in Adobe Commerce, so an email change updates the right contact instead of creating a new one.

04

HubSpot automation. Lists, workflows and owner assignment run on the synced data: tag B2B buyers, alert a rep about a large quote, start a welcome series.

Setup lives in Stores > Configuration > Evrig > HubSpot Integration and uses a HubSpot private app access token, which is stored encrypted.

That setup applies to Adobe Commerce on cloud infrastructure, Adobe Commerce on-premises and Magento Open Source, where the extension installs as a normal Adobe Commerce module. Adobe Commerce as a Cloud Service (SaaS) works differently. Adobe's documentation says App Builder is the only way to extend it, so the same four layers run out of process: Commerce events (customer save, order save) are sent to an App Builder app, which transforms the data and calls the HubSpot API. Adobe's integration starter kit gives a tested starting point for customer, customer group, order, product, shipment and stock sync, and is meant for CRM, ERP and OMS integrations.

Which path applies to you?

Your current setup How HubSpot connects What we build
Adobe Commerce Cloud (on cloud infrastructure, PaaS) HubSpot Customer Sync extension, installed with Composer and deployed through your cloud project Extension setup, custom order, quote and newsletter sync as Adobe Commerce modules, workflows
Adobe Commerce on-premises HubSpot Customer Sync extension Same as above, deployed on your own servers
Magento Open Source or Mage-OS HubSpot Customer Sync extension Extension setup and custom sync. B2B negotiable quotes aren't available on Open Source
Adobe Commerce as a Cloud Service (SaaS) No PHP extensions. An Adobe App Builder app subscribed to Commerce events HubSpot sync built on App Builder, using Adobe's integration starter kit as the base
Moving from Adobe Commerce Cloud to the Cloud Service Extension now, App Builder app after the move A data map that works on both, so HubSpot properties and workflows don't change at cutover

What Evrig does on a HubSpot integration project

Data map first

Data map first.

Before any code, we write a one-page map: which Adobe Commerce field goes to which HubSpot property, what triggers each sync, and which system owns each field. You approve it.

Customer sync setup

Customer sync setup.

We install and configure HubSpot Customer Sync, create the HubSpot private app with only the scopes the integration needs, and push customers who registered before installation with the console command.

Order sync, built to your rules

Order sync, built to your rules.

We sync every order or only orders containing specific products, and show full order detail in the HubSpot lists your team works from. Example: "bought the starter kit but not the refill".

Quote sync

Quote sync.

Adobe Commerce cart quotes for follow-up, and Adobe Commerce B2B negotiable quotes for the sales team. We confirm which one you mean on the first call, because teams often mean different things by "quote".

Newsletter sync

Newsletter sync.

Adobe Commerce newsletter sign-ups go to HubSpot and can start welcome workflows. We keep newsletter subscribers separate from order-only contacts, so consent is respected.

Workflows and lists

Workflows and lists.

Contact-based workflows on Adobe Commerce data, such as tagging a contact as B2B when their customer group changes, notifying a rep when a quote passes $500, or starting a welcome series on sign-up.

Tracking on Hyvä

Tracking on Hyvä.

We add the HubSpot tracking code so store visits appear on the contact timeline. On Hyvä stores with CSP in enforce mode, we whitelist HubSpot's script domains properly instead of loosening the whole policy.

Adobe Commerce Cloud deployments

Adobe Commerce Cloud deployments.

On Adobe Commerce on cloud infrastructure, we add the extension and any custom modules through Composer and your Git branches, test on the Integration and Staging environments, and only then deploy to Production. Cron for the bulk sync runs on the cloud project's own cron configuration, so we check it there.

Adobe Commerce as a Cloud Service builds

Adobe Commerce as a Cloud Service builds.

On the SaaS edition, we build the HubSpot sync as an App Builder app: subscribe to the Commerce events you need, map the data, and call the HubSpot API from serverless actions. We start from Adobe's integration starter kit and remove the entities you don't sync. The storefront on the Cloud Service is Edge Delivery or headless, not Hyvä, so HubSpot tracking is added to that storefront instead.

What we check before switching the sync on

These are the problems we see most often on Adobe Commerce and HubSpot integrations, including ones other teams built.

01

Contacts match on ID, not just email.

If an integration matches only by email, a customer who changes their address creates a second contact. Our extension stores the HubSpot contact ID in Adobe Commerce to prevent this. It was a real bug we fixed in an early release, so we test it on every project.

02

Adobe Commerce cron is actually running.

The scheduled bulk sync runs on cron. If cron stops or jobs pile up, the sync stops silently. We check cron health before go-live and set up a way to notice failures.

03

Guest orders are planned for.

Customer sync covers registered accounts. If a large share of your orders come from guest checkout, they won't reach HubSpot unless order sync handles them.

04

Newsletter consent is mapped.

Someone who ticked "subscribe" and someone who only placed an order are different contacts in marketing terms. We map them separately so unsubscribed people don't get campaigns.

05

Historical data goes in batches.

Pushing years of customers and orders at once runs into HubSpot's rate limits. We back-fill in batches and check the sync log before the next one.

06

Tracking isn't blocked by CSP.

On Hyvä stores with a strict Content Security Policy, the HubSpot tracking script fails without any visible error. We test it with the browser console open.

What drives the cost of a HubSpot integration

The extension is free. You pay HubSpot for your HubSpot plan, separately from us. Our fee depends on these factors:

  • Platform: the Marketplace extension on Adobe Commerce Cloud, on-premises or Open Source, or an App Builder build on Adobe Commerce as a Cloud Service
  • What you sync: customers only, or customers plus orders, quotes and newsletter
  • Filtering rules: all orders, or only orders with specific products
  • B2B features: negotiable quotes, company accounts, customer groups
  • Store structure: number of websites and store views
  • Historical data: how many years of customers and orders to back-fill
  • Workflows: how many HubSpot workflows and lists we build for you
Can I integrate HubSpot with Adobe Commerce or Magento Open Source?
Yes. Evrig's HubSpot Customer Sync extension connects Adobe Commerce customers to HubSpot Contacts. Order sync, quote sync, newsletter sync and workflows are added as custom work.
Is the HubSpot Customer Sync extension free?
Yes. The extension is free under the OSL-3.0 license. You need a HubSpot account and access token, and you pay HubSpot for your HubSpot plan.
Does customer data sync in real time?
Yes. Registrations, account edits and address saves sync when they happen. A cron job also runs a bulk sync every 6 hours by default, and the interval can be changed.
Can I sync customers who registered before installing the extension?
Yes. A console command pushes existing customers to HubSpot.
What happens when a customer changes their email address?
The extension stores the HubSpot contact ID in Adobe Commerce, so HubSpot updates the existing contact instead of creating a duplicate.
Can Adobe Commerce orders sync to HubSpot?
Yes, as a custom build. We can sync every order, or only orders that contain specific products, and show full order detail in HubSpot lists.
Can Adobe Commerce quotes sync to HubSpot?
Yes. We sync cart quotes for follow-up, and B2B negotiable quotes on Adobe Commerce, so reps see high-value quotes quickly.
Do Adobe Commerce newsletter subscribers sync to HubSpot?
Yes. Sign-ups go to HubSpot and can start welcome workflows, with consent kept separate from order-only contacts.
What HubSpot workflows can run on Adobe Commerce data?
Common ones tag a contact as B2B when their customer group changes, notify a rep when a quote passes a set value, and start a welcome series after a newsletter sign-up.
Does the HubSpot tracking code work on a Hyvä theme with CSP?
Yes, once HubSpot's script domains are whitelisted in your CSP configuration. We do that during setup.
Does the HubSpot integration work with Adobe Commerce as a Cloud Service (SaaS)?
Yes, but not as an Adobe Commerce extension. The SaaS edition doesn't accept PHP extensions, so the sync is built as an Adobe App Builder app that listens to Commerce events and calls the HubSpot API.
What is the difference between Adobe Commerce Cloud and Adobe Commerce as a Cloud Service?
Adobe Commerce on cloud infrastructure is a hosted platform where you deploy your own code and extensions. Adobe Commerce as a Cloud Service is Adobe's SaaS edition, where customisations run out of process on App Builder. That changes how a HubSpot integration is built, not what it can sync.

Tell us what you want to see in HubSpot

Send us your store URL, Adobe Commerce edition and HubSpot tier. We'll tell you whether the free extension is enough or what a custom build would involve.