đ¨ How to Setup Custom PopUps
Want full control over where and how your popup appears? đ ī¸
Custom PopUps are built for advanced use cases. They default to manual placement, which means you decide exactly where the popup lives in your theme â plus you get access to a custom CSS field and a floating action button for maximum flexibility.
This guide walks you through the entire setup so you can launch your first Custom PopUp in minutes.
â Before You Begin â Enable the App Embed
For any popup to appear on your storefront, the app embed must be enabled inside your Shopify theme.
Go to:
Shopify Admin â Sales Channels â Online Store â Themes â Edit Theme â App Embeds
Then:
- Find Email PopUps
- Toggle it ON
- Click Save
âšī¸ Without this step, your popup will not render on the storefront even after publishing.
âī¸ Step 1 â Create a New Custom PopUp
Open the Hoppy PopUps app.
Then:
â Click Create New PopUp
â Select Custom PopUp from the list of popup types.
The setup page will open automatically with manual placement selected by default.
đ Step 2 â Configure the Content
After opening the setup page, you'll land inside the Content tab.
This section controls what your visitors see and how they interact with the popup.
đˇī¸ PopUp Name
This field is used for internal purposes only. Customers will never see this name.
You can use any recognizable name such as:
- Custom Announcement
- Theme-Placed Banner
- Developer Custom Popup
- Hardcoded Promo
đĄ Using proper internal naming makes it easier to identify setups later, especially if your store runs multiple campaigns.
đŦ Title & Description
These appear at the top of your popup and should clearly communicate your message.
Example
- Title: "Special Announcement"
- Description: "Check out our latest collection"
You can customize these to match your campaign voice.
đ§ Email & Phone Collection
Choose which fields to show in your popup:
- Show email collection field â captures visitor emails
- Show phone number field â captures phone numbers with country-code selection
You can show both, only one, or neither if you're purely displaying an announcement.
đ Button Link
If you're not collecting emails or phone numbers, the popup becomes a simple call-to-action button. Set the Link to the page you want visitors to visit â for example, a collection page, product page, or external URL.
âī¸ Additional Collection & Coupon Settings
This section gives you additional control over how visitor information is collected and how discounts are presented inside the popup.
đŠ Email Collection Field Placeholder
Customize the placeholder text shown inside the email input field.
Example
- "Enter your email"
- "Your best email address"
This helps guide visitors on what information they should enter.
â Email Error Message
Set the validation message shown when a visitor enters an invalid email address.
Example
- "Please enter a valid email address"
This appears automatically if the entered email format is incorrect.
đą Default Country Code
Choose the default country code for the phone number field.
Example
- United States (+1)
- United Kingdom (+44)
- India (+91)
Visitors can still change the country manually unless restricted.
đ Phone Number Placeholder
Customize the placeholder text shown inside the phone number field.
Example
- "Enter your phone number"
- "Mobile number"
This improves clarity and encourages proper formatting.
â ī¸ Phone Number Error Message
Set the message displayed when an invalid phone number is entered.
Example
- "Please enter a valid phone number"
This helps visitors understand why submission failed.
đ Button Text
Customize the call-to-action button text shown inside the popup.
Example
- "Shop Now"
- "Claim Discount"
- "Unlock Offer"
Using action-oriented text can improve conversions.
đˇī¸ Show Coupon Code
Choose whether the coupon code should appear inside the popup after successful email capture.
Available options:
- Yes â displays the coupon code to visitors
- No â hides the coupon code section
This is useful if discounts are applied automatically or handled externally.
âšī¸ The coupon code can only be shown if the email is getting captured.
đī¸ Coupon Code
âšī¸ This field is available once Show Coupon Code is toggled to YES.
Enter the discount or promotional code you want customers to use.
Example
- SAVE10
- WELCOME20
- COUPON123
Visitors can copy and use this code during checkout.
âī¸ Add Opt-In Checkbox
Choose whether to show an additional opt-in checkbox inside the popup.
This can be used for:
- Marketing consent
- SMS consent
- Newsletter subscriptions
- Terms acknowledgement
Available options:
- Yes â displays the checkbox
- No â hides the checkbox
â Close Icon
Enable or disable the close icon shown on the popup.
- Enabled â visitors can manually close the popup
- Disabled â removes the close icon from the popup
This helps control how dismissible the popup experience should be.
âī¸ Success Messages
After a visitor submits their details, a success message appears.
- Success Message: "Welcome to our store\!"
You can also add a description below the message with next steps or instructions.
đ Floating Action Button
Even with manual placement, you can add a Floating Action Button that stays visible on the page so visitors can reopen the popup after closing it.
Choose a position:
- Bottom right
- Bottom left
- Screen right
- Screen left
Then enter the Button Text â e.g. "Open Offer", "Get Discount", or "Learn More".
To disable the floating button entirely, select Disable floating action button.
đ¨ Step 3 â Apply Custom CSS (Optional)
Switch to the Design tab to access the Custom CSS section.
This is where Custom PopUps really shine. You can write your own CSS to override any default styling.
đ CSS Template
The app provides a ready-made template with common selectors:
.futureblink-popup {
/* Main popup container */
}
.futureblink-popup .title {
/* Popup title */
}
.futureblink-popup.mobile .title {
/* Mobile title override */
}
.futureblink-popup .description {
/* Popup description */
}
.futureblink-popup.mobile .description {
/* Mobile description override */
}
.futureblink-popup .cta-button {
/* Call-to-action button */
}
.futureblink-popup.mobile .cta-button {
/* Mobile button override */
}
.futureblink-popup .close-btn {
/* Close icon */
}
.futureblink-popup.mobile .close-btn {
/* Mobile close icon override */
}
Paste your custom CSS into the field and click Apply.
â ī¸ Important Notes
- Custom CSS overrides all other design settings â use it when you need pixel-perfect control
- Mobile-specific selectors let you style differently for phone users
- Click Reset to restore the default CSS template at any time
đąī¸ Step 4 â Set the Trigger & Display Rules
Move to the Placement/Targeting tab to control when and where your Custom PopUp appears.
Because Custom PopUps use manual placement, most standard trigger settings don't apply in the same way. However, you can still configure:
- Display Frequency â Show every time, once per visit, or limit with a cooldown
- Customer Targeting â Login status, customer tags, lifetime spent
- Geolocation â All world or specific countries
- Scheduling â Optional start and end dates
For deep explanations of each targeting option, see the dedicated Advanced Targeting documentation.
â Step 5 â Save & Publish
Once everything looks good:
- Click Save to store your configuration
- Click Publish to make the popup live on your storefront
â ī¸ Saving alone does not make the popup visible to customers. You must publish it.
â ī¸ For manual placement: Remember to also add the code snippet to your theme â publishing alone won't place the popup automatically.
If the app embed is not yet enabled, a banner will remind you to activate it in your Shopify theme editor.
đ Final Result
Once configured successfully:
â Your popup appears exactly where you placed it in your theme
â Custom CSS gives you full visual control
â A floating action button keeps the popup accessible (if enabled)
â Your popup respects targeting rules, scheduling, and device settings
â Visitors interact with a fully on-brand, custom-placed experience
Your Custom PopUp is now live and uniquely yours đ
Updated on: 03/06/2026
Thank you!