Articles on: PopUps

๐Ÿ”— Integrate PopUps via Webhooks

Webhooks let you send popup submission data to any external URL in real time. This is perfect for connecting Hoppy PopUps with custom systems, CRMs, notification services, or any platform that accepts HTTP requests.


Every time a visitor submits a popup form, the app sends a JSON payload to your configured webhook endpoint โ€” instantly and automatically.



โš ๏ธ Before You Begin


Before setting up webhooks, make sure:


  • The Hoppy PopUps app is installed on your Shopify store
  • You have a webhook URL ready to receive data (from your developer, CRM, or third-party service)


No API keys or external accounts are required within the app โ€” just a valid HTTPS endpoint.



๐Ÿ› ๏ธ Step 1 โ€” Open the Integrations Section


Open the Hoppy PopUps app from your Shopify Admin.


Then:


โ†’ Click the Integrations tab from the left-side navigation menu


Locate the Webhook Integration card.


If not connected yet, the card will display:


โ†’ Not Connected



๐Ÿ”— Step 2 โ€” Enter Your Webhook URL


Inside the Webhook Integration card:


โ†’ Click Connect Webhook


Enter your webhook endpoint URL in the field provided.


Example


https://your-crm.com/api/popup-submissions


Then:


โ†’ Click Save & Connect


The app will mark the webhook as connected. The status badge changes to:


โ†’ โœ… Connected



๐Ÿ“‹ Step 3 โ€” Understand the Payload


On every popup submission, the app sends a POST request to your webhook URL with the following JSON payload:


{

"email": "user@example.com",

"phone": "+1234567890",

"EmailCollectionName": "My Popup Name",

"country": "United States",

"time": "14:30",

"date": "2025-01-15",

"isReturningCustomer": false

}


Field Descriptions


Field

Description

email

The email address submitted by the visitor

phone

The phone number submitted (if collected)

EmailCollectionName

The internal name of the popup that received the submission

country

The country detected from the visitor's location

time

The local time of the submission

date

The date of the submission

isReturningCustomer

true if the visitor has submitted before; false if new


The request is sent with Content-Type: application/json and includes a 5-second timeout.



โš™๏ธ Step 4 โ€” How the Webhook Behaves


  • Fires on every submission โ€” Regardless of popup type or content
  • Non-blocking โ€” If your webhook endpoint is slow or down, the shopper's experience is not affected
  • Automatic retries โ€” The app logs success and failure to the console; check your server logs if data doesn't arrive
  • Real-time โ€” The payload is sent immediately after the submission is saved



โœ… Step 5 โ€” Save the Integration


After entering your webhook URL:


โ†’ Click Save


Your webhook integration is now active.



๐Ÿงช Step 6 โ€” Test the Integration


To verify your endpoint is receiving data:


โ†’ Open your storefront in an Incognito or Private browser window

โ†’ Trigger a popup and submit a test email address


Example:


testwebhook@example.com


Then:


โ†’ Check your webhook endpoint's logs or connected system

โ†’ Verify that a JSON payload arrived containing the test email, popup name, date, time, and location data


๐Ÿ’ก If you don't have access to server logs, use a free webhook testing service (like webhook.site) as a temporary endpoint to inspect the payload structure.



โš ๏ธ Common Troubleshooting


Webhook Not Receiving Data


If submissions happen but your endpoint receives nothing:


โ†’ Verify the webhook URL is correct and uses HTTPS

โ†’ Verify the webhook is marked as Connected in the integration card

โ†’ Verify the popup is published and actively receiving submissions

โ†’ Check your server firewall or CDN rules โ€” they may be blocking the request


Delayed or Missing Payloads


If payloads are inconsistent:


โ†’ The app uses a 5-second timeout โ€” ensure your endpoint responds within that window

โ†’ The webhook is non-blocking; a slow endpoint will not stop the popup from working, but the request may time out

โ†’ Check server rate limits if you're receiving high submission volumes


Invalid JSON or Parsing Errors


If your system can't read the payload:


โ†’ The app sends Content-Type: application/json with a standard JSON body

โ†’ Ensure your endpoint expects JSON and not form-encoded data

โ†’ Some fields (like phone) may be empty strings if not collected โ€” handle null/empty values gracefully



๐ŸŽ‰ Final Result


Once configured successfully:


โœ… Every popup submission sends real-time data to your custom endpoint

โœ… Payload includes email, phone, popup name, location, timestamp, and returning-customer status

โœ… The shopper experience is never blocked by webhook delivery

โœ… You can connect Hoppy PopUps to virtually any system that accepts HTTP requests ๐Ÿ”—


Updated on: 03/06/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!