How to show PayPal Payments in HubSpot

A guide to connecting PayPal & HubSpot using Zapier

Accepting payments by PayPal is a great way for a business to collect money from customers/clients. In this guide, HammaJack co-founder, Jacob Moran, outlines how to add your customer’s PayPal activities into HubSpot.

The scenario

At HammaJack, we love HubSpot and its adaptability to real business problems. The other day one of our clients had an issue - they accept PayPal payments on their E-Commerce website and wanted to keep track of these payments as well as  what was bought in their HubSpot CRM. 

Their website follows a pretty standard flow, i.e. Product Page > Cart > Checkout. It looks like the following example.

Product Add to Cart on Squarespace.png

When a purchase is made via PayPal the CMS platform (Squarespace in this instance) logs the information, and so does PayPal, but HubSpot gets no notification.

This presented an interesting problem for us, and while we originally toyed with a direct integration we ended up going with the below using the following elements;

The solution is so easy that you can have it set up in 20 minutes and while we’ve shown it in an eCommerce context, it could easily be applied to any situation where PayPal payments are made.

Below we will go into two different options of how to tackle this depending on your HubSpot Marketing Subscription. The first two steps are the same so I’ll outline these together.


Step 1: Connecting PayPal & Zapier

This first step requires a Zapier starter account.  

Create the Zap

In Zapier create a Zap with PayPal as the trigger and give a useful name.

PayPal Trigger in Zapier.png

Copy the webhook into PayPal’s IPN settings

Take the webhook Zapier gives you and click the PayPal IPN link. Once you’ve logged in, enter the webhook URL as the notification URL, select to receive IPN notifications and save it.

PayPal Trigger in Zapier.png
PayPal IPN Settings.png

Test your connection 

Return to Zapier and test the connection by pulling in some samples.

Step 2: Sending information to HubSpot

PayPal’s connected? Awesome. Now what we do next depends on your HubSpot Marketing Subscription. Use the one that is applicable.

HubSpot marketing enterprise customers

Because you are enterprise customers you get to do things that others can’t. One of those things is creating Custom Events. We can, therefore, use these to send a specific PayPal event to HubSpot.

Create a custom event

The first step is to create a custom event to record our PayPal activities. I won’t go into great detail about how to do this, but you can follow this super handy guide to creating custom events in HubSpot. Your event configuration should end up looking like the following. Keep track of your eventID, you’ll need it later.

HubSpot Custom Event.png

Set custom properties for PayPal

This step is optional, but recommended. In this step, we created two custom contact properties under a specific property group. They were;

  • PayPal: Amount Paid - this will track the amount the purchase was worth

  • PayPal: Item - this will be used to track (as a string) the items purchased

HubSpot Custom Properties.png

Please note that if a customer makes another purchase the original value will be overwritten, but will still exist in the property history (we’ll cover this later).

Create a Webhook Zap to HubSpot

Now Zapier has a generic HubSpot Enterprise Event configuration but as we want to send custom information (like what product they purchased) we will need to use a GET webhook to send the information to HubSpot. If you don’t want to set these custom properties you can just set up your integration with the generic HubSpot configuration.

Zapier Get Webhook.png

Create your request

Then all you need to do is set up your query. It should like the following;

https://track.hubspot.com/v1/event?
_n=eventID
&_a=hubspotID
&email=payeremail
&paypal_amount_paid=mc_gross
&paypal_items=item_names
&_m=mc_gross

Where;

  • eventID = Your HubSpot event ID

  • hubspot ID = Your HubSpot account ID

  • payeremail = The PayPal Payer Email field

  • mc_gross = The PayPal MC Gross field (repeated twice)

  • Item_names = The PayPal Item Names field

You can leave the rest of the fields alone.

Sending PayPal data to HubSpot through Zapier.png

We repeated the PayPal MC_Gross (what the user paid) field twice for a good reason. By declaring it on the PayPal Amount Paid field we can keep a record of just PayPal payments in HubSpot. And then by declaring it on the “m” field we can track it on the generic contact revenue field as well. This will then include incrementally increasing deal values and other kinds of revenue added to the contact over time. You can read more about that field in the HubSpot Developer Documentation here and here.

HubSpot Property History.png

Test & publish

You can then test and publish the Zap. If everything is successful you should see two things.

  1. An analytics event in your timeline

  2. An event revenue - please note this is a rolling revenue so it will increase every time you add something to it.

HubSpot Contact View with PayPal values.png

P.s. There is nothing stopping Enterprise customers from setting up the below either, for an extra visual solution.

HubSpot Marketing Pro or less customers

As the above Custom Events aren’t an option on lower subscription tiers we have to be creative in how we can send PayPal data to HubSpot. Below is the guide on how to send the PayPal payments to HubSpot as a note.

Create an engagement zap in Zapier

Following on from the steps above, we need to send the PayPal information through to HubSpot by creating an engagement.

HubSpot Engagement in Zapier.png

Configure your note

Once this is done, all you need to do is your configure your note. We did it in the following way;

  1. Set the engagement type to note (required)

  2. Set the associated contact to the PayPal Payer Email

  3. Enter a note body using the following text;

        PayPal Payment Received:
          Amount: mc_gross
          Items: item_names

Where;

  • Mc_gross = The PayPal MC Gross field

  • Item_names = The PayPal Item Names field

Configure HubSpot Note in Zapier.png

Test & Publish

You can then test and publish the Zap. If everything is successful, you should see a note in your timeline.

HubSpot Contact View - with Analytics PayPal event.png

A few quick caveats

A few things to note;

  1. This is just a tiny example of what is possible to pass through with this integration.

  2. It is also possible to set up a Timeline Integration through the HubSpot Timeline API, but that would take considerably more time and be far more technical.

  3. Pro users could also set a custom field with another Zapier step that if they wanted, but it wouldn’t appear in your timeline.

  4. We are limited by the information that PayPal passes through so if, whatever reason the payer details are different to the customer data you have in HubSpot then it will create a new record.

Most important point

Connecting your PayPal and HubSpot accounts can be an amazing way of sharing payment information with your CRM. It can help you close the loop on your customers’ actual value, and it’s super easy.