How do I track e-commerce purchases for each Contact?

Contributor | Platinum Partner

We are an e-commerce company.  Meaning, the end-user (the consumer) can come to our site and purchase various items.  For the sake of argument, let's say it's:


Item A

Size A

Purchase Date A

Amount Paid A


Item B

Size B

Purchase Date B

Amount Paid B




I want to be able to track each individuals purchases in such a way that I can easily create reporting and lists around each of the data points.  For instance:

# Item A sold this year

Total revenue from Item B

# of people who purchased both Item A and Item B



We are currently accomplishing this by having each purchase become a Deal.  Is there a better way?


Some of my drawbacks on having them as Deals:

- It's more difficult to report back on the actual Contacts associated with the Deal (e.g. demographics for everybody that purchased Item B this year)

- Currently if a person buys more than one item in a cart, we are creating multiple Deals so I don't have clear insight into how many transactions there are (each Deal is set up like a single transaction when they could have bought multiple items in one transaction).


The above are not impossible to do, I just want to know if there are any e-commerce companies out there who have figured out a better way.



3 Replies 3
Community Manager

Hi @iamathlete,


In terms of tracking revenue, deals will provide more insight than associating the dollar values with the contacts. Additionally, if the information around the sales for the product take priority over the sales associated with the contact, then again, I would recommend continuing with the deals method. 


I want to tag in a few subject matter experts to see if they have any additional insight: @mark_vande_haar , @Kevin_ThinkFuel , @JoeRoberts do you have any tips for how to organize deals data? 




@iamathlete  Do you have your products set up in Hubspot natively? Much of your list building and reporting needs should be taken care of there without a lot of heavy lifting but yes get away from setting up deals on sales.  Is there a reason you want to use deals for ecom purchases in the first place?  


If you want a somewhat technical answer to fix your short term and long term issues read below. 


What eCommerce platform are you using? If you use Woo then continue read below and take out of the Data Warehouse, some exclusions apply but essentially you can do the same thing with the HS API and Woo. 


If you have multivariable data: If no, then dont read below the answer above should be enough to suffice. 


***This is not the one size fits all solution but I've had a lot of ecom success with this model below*** 


 If you have multivariable data the best bet is to use a third-party data warehouse (DW) to structure/manipulate/organize your data into Hubspot to enable marketing from there. I use custom contact properties in Hubspot to tie all purchases back to contacts allowing me to easily create lists, workflows, and data to customer service and sales. 


What this looks like:

eCom Platform--DW--Hubspot

You can also use tools like tablue to report on ecom data and marketing data within the DW. 


Why I do this:

1. Hubspots API is robust and easy to work with

2. ecom data can be tricky to work with

3. Data warehouses let me quickly organize and manipulate data to bring back into Hubspot to enable marketing efforts. 

4. I can bring in all historical data (which can also be messy) into HS and align that with current marketing efforts. 


Data warehouses do require a bit of technical expertise but really quick and easy to do for more most developers that know MySQL or Python.


Hubspot products is still new and building out functionality.  Also, a lot of e-commerce integrations with Hubspot can be limiting if you have very customized data. 


Hope that helps. 


Community Manager

Thank you for your insights @mark_vande_haar