HubSpot Popups – How to Add a Popup in HubSpot?

I THINK IT’S IMPORTANT: Before anyone dives in, remember that HubSpot itself doesn’t have a drag‑and‑drop popup builder baked into the free CRM.

GOOD NEWS: You can bolt one on in < 5 minutes with tools like Popupsmart, MetForm (if you’re on WordPress), or even OptinMonster. I’ve tested all three while growing an e‑commerce side project here in Germany, so here’s my breakdown.

1. Why I Finally Settled on Popupsmart + HubSpot

  • Zero‑Code Install: One‑line script. Done.

  • Native HubSpot Integration: The contact data pipes straight into any static list I choose in HubSpot – no messy zaps.

  • Advanced Targeting: Device, scroll %, exit‑intent, UTM parameters… you name it.

  • Pricing Sweet Spot: FREE up to 5 000 pageviews – perfect while traffic is still growing.

:backhand_index_pointing_right: Step‑by‑step “HubSpot popup”:

To start the HubSpot integration process, you need to have some default features:

  • You need to have a HubSpot account registered with your website and the information needed.
  • You need to have a static list or some static lists on your HubSpot account.
  • You need to verify your website on your Popupsmart account.

1. After logging into your Popupsmart account and creating your popup campaign as you wish, choose one of the templates with a form element or a popup to add a form input element.

2. After you add a form input element or select the form input element, click “+ Add integration.”

Adding integration with a form element only means that you integrate for taking the data to your HubSpot account.

3. Choose “Connect” HubSpot among the choices.

4. On the Setup, you need to select API or add a new HubSpot API.

5. Another window that connects your Popupsmart and HubSpot accounts will show up. You can choose your account on that window and click “Connect Account.”

Then, the system automatically carries you to the Details.

:light_bulb:If you connect your accounts for the first time, you must log in to your HubSpot account on your Popupsmart system.

6. On the second step, you need to choose your list on HubSpot on the Details dropdown. We choose a list as the example and click “Next.”

Remember that you need to have a list on your HubSpot account to complete that step, or you can’t see any choice on your dropdown, or you’ll get an error message.

Also, make sure your Hubspot list is static to take data. Otherwise, you will not be able to see your list or collect your leads.

7. After choosing your list, you will be forwarded to the Match Fields part. Choose the data you want based on the elements on your popup.

Click “Save” once you have arranged the details.

These fields may change according to the elements you include.

:white_check_mark: Form Field: It is used if you put form elements in your popup. If you don’t use any form element, you will see ‘No options’ on the dropdown.

:white_check_mark: System Field: You need to choose your option based on what you demand to get as data. For example, you can get the Browsers or Devices of the people who filled the popup.

:white_check_mark: API Field: You can transfer the data sent to Popupsmart JS API with the integration. You can get your data from your HubSpot account.

:white_check_mark: Static Field: You need to determine the specific data you want. For example, you may want to have sales or downgrades so that you can put them as ‘sales’ or ‘downgrades’.

And your HubSpot integration is all set! Well done!

The status of your integration will be on by default; you can change it whenever you want on the three-dot.

2. TL;DR – My Setup Flow

  1. Create campaign in Popupsmart → pick a template with a form.

  2. Hit + Add integration → Connect HubSpot.

  3. Paste / select API key → choose the static list you want.

  4. Map fields (email, first‑name, device, etc.).

  5. Publish and paste the single embed script before on my site.

RESULT: 34 new leads in week 1, 7.6 % conversion on an exit‑intent discount popup. :party_popper:


ATTENTION!! I botched this the first time by forgetting two little details:

  • STATIC LISTS ONLY: Dynamic lists won’t show in the Popupsmart dropdown.

  • Double Opt‑In Toggle: HubSpot turns it on by default in some regions; if you need single opt‑in for a flash sale, switch it off under Settings → Marketing → Email → Subscriptions.

What I Do Each Time
  • Create a “PS‑Leads‑MM‑YYYY” static list so I can track month‑by‑month.

  • In Match Fields, I always add a Static Field → Source = “Popupsmart‑Homepage‑Exit” so the sales team knows where the lead came from.

  • Test with my own email, then check the contact timeline in HubSpot – if you don’t see the form submission event, something’s off.

Full docs if you get stuck: https://popupsmart.com/help

A Quick Peek at How the JS Snippet Works

<script type="text/javascript" src="https://cdn.popupsmart.com/popupsmart.js" data-id="YOUR-ID"></script>

* Loads async → won’t block Core Web Vitals.

* Creates a global Popupsmart object → you can push custom events like:

Popupsmart.pushData({

plan: 'pro',

cartValue: 149,

isReturning: true

});

Map those to API Fields during the Match Fields step and they flow into HubSpot as contact properties. I use this to trigger Workflows (e.g., cart > $100 ⇒ send VIP coupon).

  1. Trigger: Exit‑Intent + Desktop only (mobile users see a floating bar instead).

  2. Offer Copy: “WAIT! 10 % OFF your first pasta kit – one of them could be yours :eyes:.”

  3. Field Mapping: Email → email, Static Field → lifecycle_stage = lead.

  4. Follow‑Up: HubSpot Marketing Email → Welcome flow (3 emails over 5 days).

1‑week results: 12.4 % CVR, 3 sales worth €210. :spaghetti:

  • OVERLAY GREY‑OUT: Keep opacity around 60 %. Full blackouts kill browsing context.

  • “X” BUTTON VISIBILITY: WCAG says 3:1 contrast. Test it!

ANNOYANCE FACTOR: Use teaser mode after close – a small sticky tab bottom‑left so visitors can reopen willingly.

  1. Duplicate your Popupsmart campaign → name variants “Simple & Clear (control)” and “Urgency‑Badge”.

  2. Split traffic 50/50 inside Popupsmart.

  3. In HubSpot Reports → Traffic Analytics, add a secondary dimension ps_variant (comes from the Static Field you mapped earlier).

  4. Run for 7 days or 500 conversions – whichever comes first.

My last test:

  • Control: 6.2 % opt‑in

  • Urgency badge: 8.9 % (+43 % lift) :rocket:

Animation: Subtle fade‑in 250 ms – no bounce, it triggers motion sickness for some users.

Pros

  • 100 % free (MetForm plugin + HubSpot CRM)

  • Full control inside Elementor builder

  • Works great for multi‑step surveys

Cons

  • Integration is OAuth only – no fine‑grained field mapping like Popupsmart’s Static/API fields.

  • No built‑in exit‑intent; you need extra JS.

  • Load time heavier (Elementor + MetForm assets).

Setup guide I followed: Integrate HubSpot with MetForm – https://popupsmart.com/help? (Actually original post is on MetForm blog but link is long – Google “MetForm HubSpot integration step 4”)

If you’re already on WordPress/Elementor, MetForm is okay. Otherwise Popupsmart is faster & lighter.

Hey everyone, love seeing the community crush it! Two heads‑ups:

  1. HubSpot API Key Deprecation: If you created the integration before Nov 30 2024 with legacy keys, please migrate to Private Apps. Guide → https://developers.hubspot.com/docs/api/private-apps.

  2. GDPR Mode: Toggle “Anonymize IP” in Settings → Compliance if you serve EU visitors.

Feel free to ping [email protected] for anything else. :rocket:

Tool Script Weight CLS Impact Avg Load Time
Popupsmart 34 KB gzipped 0 85 ms
OptinMonster 96 KB 0.02 210 ms
Wisepops 73 KB 0.01 180 ms

Measured on a Shopify demo store (Lighthouse mobile, 4G). If speed is your North Star, keep this in mind.

I run a tiny e‑commerce + booking site for physio products. My flow:

  • Trigger: After 45 sec on blog article “Lower‑Back Pain Relief”.

  • Offer: Free 10‑min online consult.

  • Outcome: 28 bookings / 440 visitors = 6.36 %. Half converted to paid Pilates sessions.

Popupsmart’s device targeting let me hide it on small screens (my older clients complained). Win‑win.

When crafting popup copy:

  • USE SECOND‑PERSON: “You” not “we.”

  • VALUE FIRST: “Get the cheat‑sheet” > “Subscribe to our newsletter.”

  • URGENCY BUT KINDNESS: “Be one of the final 11 to claim 50 % off – we’d love for you to join us.”