PopUp Pro

Grab your visitors’ attention, build your mailing list and share targeted ad messages with the most customizable, smart, responsive pop-up and pop-over WordPress plugin.


  • Fix typo in the XProfile condition


March 17, 2015 - version
  • Fix typo in the XProfile condition

March 13, 2015 - version
  • Add new "Protected Content" rule
  • Fix bug with XProfile rule that did not save field-value correctly
  • Fix behavior "Show on Click" when event is attached to a link/button

January 6, 2015 - version
  • Fix variable-name collission with CoursePress

December 26, 2014 - version
  • Fix several small bugs
  • Fix URL rules that check for https:// protocol
  • Improve "Full URL rule" to check all protocols

November 29, 2014 - version
  • Fix incompatibility with Custom Sidebars plugin

November 24, 2014 - version
  • Fix small JavaScript error in CSS editor

November 22, 2014 - version 4.7
  • Add PopUp Animations
  • Add Behavior option: Form submit behavior
  • Add new meta box: Custom CSS for individual PopUps
  • Add validation of PopUp shortcodes for the current loading method
  • Fix an issue where the PopUp closes when Gravity Forms is submitted
  • Fix the on-URL rules in Ajax loading methods
  • Fix the Ajax loading methods when Strict-Mime-Check is enabled

November 12, 2014 - version
  • Fix error on servers that run older php version than 5.3

November 11, 2014 - version
  • New: Not-From-Referrer rule
  • Better: Improved handling of forms inside PopUps
  • Better: Ajax calls improved to prevent security errors by iThemes, etc.

October 27, 2014 - version
  • New: Allow page to be scrolled while PopUp is open.
  • Fix: Prevent PopUps from staying open after submitting a form to external URL.
  • Fix: PopUps without content can be displayed now.

September 19, 2014 - version
  • New: Two new WordPress filters allow custom positioning and styling of PopUps.
  • Fix: Correctly display Meta-boxes of other plugins in the popup-editor.
  • Fix: Plugins that use custom URL rewriting are working now (e.g. NextGen Gallery)
  • Fix: PopUps can be edited even on servers with memcache/similar caching extensions.
  • Fix: Resolve "Strict Standards" notes in PHP 5.4
  • Fix: Rule "Not internal link" now works correctly when opening page directly.
  • Fix: Rule "Specific Referrer" handles empty referrers correctly.
  • Better: Forms inside PopUps will only refresh the PopUp and not reload the page.
  • Better: Detection of theme compatibility for loading method "Page Footer" improved.

September 8, 2014 - version
  • New: Alternative Country Lookup services added to Settings page.
  • New: Added Contextual Help to the PopUp editor to show supported shortcodes.
  • Fix: Logic of rule "[Not] On specific URL" corrected.
  • Fix: Close forever now works also via click on background layer.
  • Fix: Behaviour "mouse leaves the browser" is not triggered when using the scrollbar.
  • Fix: Bug in Membership rule was fixed that did cause an php error.
  • Fix: Appointments+ shortcodes now work inside PopUps.
  • Better: Improved info on supported shortcodes.

August 26, 2014 - version 4.6.1
  • Fix: For some users the plugin was not loading after update to 4.6
  • Fix: Old Popups will now replace shortcodes correctly.

August 22, 2014 - version 4.6
  • Completely re-build the UI from ground up!
  • Migrated PopUps to a much more flexible data structure.
  • Merged sections "Add-Ons" and "Settings" to a single page.
  • Removed old legacy code; plugin is cleaner and faster.
  • New feature: Preview PopUp inside the Editor!
  • Three new, modern PopUp styles added.
  • Featured Image support for new PopUp styles.
  • A single page can display multiple PopUps.
  • New PopUp conditions added.

November 15, 2013 - version 4.5.3
  • Fix for argument passing issue.
  • Fix for popup pending initial state.

November 5, 2013 - version 4.5.2
  • Fix for display issue with absolute sizes/positioning.
  • Added the XProfile fields value matching add-on.

October 30, 2013 - version 4.5.1
  • Sizing calculus update.
  • Performance update.

October 16, 2013 - version 4.5
  • Javascript update.
  • Separated size and positioning javascript.
  • Added new expiry options and updated existing ones.
  • Added anonymous loading method add-on.
  • Added advanced URL rules add-on.
  • Added maximum width rule add-on.
  • Added post types rules add-on.
  • Added show on click rule add-on.
  • Added show on exit rule add-on.

October 2, 2013 - version
  • Adding shorting out wrapper for multisite global check.
  • Allowing conditional content switch.
  • Allowing default styles to be passed in.

September 2, 2013 - version
  • Performance improvements
  • Fixed issue with dynamic JavaScript loading

August 25, 2013 - version
  • Added missing translatable strings
  • Updated language file

August 19, 2013 - version
  • added collation to tables creation code
  • updated require calls to include directory path
  • moved custom loading out of experimental status
  • set default loading method to custom loading

April 29, 2013 - version 4.4.5
  • Added different custom loading method that should be cache resistant and remove issues with other ajax loading method.
  • Added add-on to enable use of a local geo-coding database for geo-specific pop ups
  • Made On URL rule more specific so that it doesn't match child pages when the main page is specified

April 2, 2013 - version 4.4.4
  • Added option to switch from JS loading to standard loading of pop ups.
  • Added ability to use regular expressions in the referrers and on url conditions.
  • Updated Geo-location conditions.
  • Added ability to switch GEO API providers easily.
  • Prepared code to make it easy to upgrade interface for future releases.

December 11, 2012 - version 4.4.3
  • Updated for WP3.5
  • Added initial attempt to distinguish referrers from Google search and referrers from Google custom site search.

July 26, 2012 - version 4.4.2
  • Removed unneeded css and js files
  • Added new wpmudev dashboard notification class
  • Updated language file

July 2, 2012 - version 4.4.1
  • Moved popover loading js to be created by a php file due to needing extra processing.
  • Fixed issue with directory based sites loading popover script from main site.
  • Fixed issue of popover loading on login and register pages.

June 18, 2012 - version 4.4
  • Updated Popover to load via ajax call rather than page creation for cache plugin compatibility

May 30, 2012 - version 4.3.2
  • Fixed issue of network activation not creating tables until admin area visited
  • Updated code to remove all notifications, warnings and depreciated function calls ready for WP 3.4

May 13, 2012 - version 4.3.1
  • Fixed issue with internal referrals condition when domain mapping is active on a blog

May 11, 2012 - version 4.3
  • Fixed IE bug that left dark background in place when dismissing popover
  • Added Geo IP rules to allow restriction of popover showing based on visitors country (using hostip.info's API)
  • Added IP cache so that the API isn't hit repeatedly for the same IP address
  • Added configuration option to allow the API used to be changed easily.
  • Added configuration option to allow defaulting to a specific country if the API is down.

March 26, 2012 - version 4.2.3
  • Added forced array for sanitise function
  • Updated language file
  • Updated version number

March 25, 2012 - version 4.2.2
  • Added On Url condition to show popover on certain urls only
  • Added Not On Url condition to show popover on every url except for certain ones
  • Fixed bug that leaves video sound playing when dismissed.

March 9, 2012 - version 4.2.1
  • Fixed issue with id not starting with a letter

March 7, 2012 - version 4.2
  • Updated method for showing pop over immediately on page load
  • Changed pop over html id to attempt to prevent blocking by advert blocking addons
  • Added delay method to set a timer before the pop over shows
  • Updated language file

March 4, 2012 - version 4.1.1
  • Added initial pro-sites rule.
  • Added extra js check before making a site dark (for dark background styles).

March 3, 2012 - version 4.1
  • Added a fixed position style.
  • Added a dark background fixed position style.
  • Added option to remove Never see again link.
  • Changed rule processing so it defaults to showing a popover rather than opposite.

February 24, 2012 - version 4
  • Added ability to have multiple pop overs with different rules
  • Added ability to re-order pop overs to determine which will take priority
  • Added ability to use a touchscreen device to add Pop over conditions rather than just drag and drop interface.
  • Added help content
  • Added initial ability to add conditions and process them from other plugins / add-ons
  • Added initial ability to add styles to popovers from other plugins / add-ons

December 14, 2011 - version 3.1
  • Updated for WP3.3 styles
  • Added extendable hooks and filters to allow the rules to be extended by other plugins

December 3, 2011 - version 3.0.2
  • Fixed Google search engine check
  • Added Bing search engine check
  • Added shortcode processing ability

October 19, 2011 - version 3.0.1
  • Set PO_GLOBAL to switch location of settings page from standard admin interface and network admin interface on multi-site installs.

January 11, 2011 - version 3

    July 16, 2010 - version 2

      March 7, 2010 - version 1.6

        March 1, 2010 - version 1.5.1

          February 10, 2010 - version 1.5

            "I'm always amazed when I receive the email updates showing the new plugin WPMU DEV has developed or amped up."

            Roy Edlund

            "It is amazingly fast, easy to install and very flexible."

            Stephen Kane

            "From start to finish, PopUp implementation took minutes."


            PopUp Pro brings a proven solution for effective advertising to your site.

            Introduce your clients, users or visitors to an exclusive offer or an opportunity to stay connected – at just the right place and time.

            Simple beautiful layouts in seconds.
            Simple beautiful layouts in seconds.

            The Perfect Ad Display in Seconds

            Perfect for building eye-popping advertisements that are sure to capture any audience.

            Our refined templates work for any situation and can be quickly tweaked to meet your needs.

            Timing is Everything

            We know when you display a pop-up can be just as important as the content itself. That is why we included options for triggering pop-ups with precision based on time, location on the page, if the mouse leaves the browser, and even on CSS selectors and clicks.

            Toggle conditions for precision control.
            Toggle conditions for precision control.

            Share your content using smart display and be sure your advertisements are having the highest possible impact.

            Hundreds of condition combinations for precision control.
            Hundreds of condition combinations for precision control.

            PopUp Flexibility and Control

            Do you want to offer an introductory rate to new subscribers or a special promotion for loyal users?

            PopUp Pro has options for displaying offers based on user type, location, referral and how many times the pop-up should display.

            PopUp Pro is the perfect tool for advertising in the right place, at the right time, to the right audience. Use PopUp Pro for your next marketing campaign – and spend less time building and more time creating.

            For help with installing plugins please see our Plugin installation guide

            Login to your admin panel for WordPress or Multisite and activate the plugin:

            • On regular WordPress installs – visit Plugins and Activate the plugin.
            • For WordPress Multisite installs – Activate it site-by-site (say if you wanted to make it a Pro Sites premium plugin), or visit Network Admin -> Plugins and Network Activate the plugin.

            Getting Started

            Once activated, you’ll see a new menu item in your dashboard: PopUp

            PopUp Pro Menu

            Adding a PopUp

            Click on PopUp > Add New to open up the PopUp Editor.

            PopUp Pro - Add New Menu

            Here you will see a number of sub-sections for creating PopUps.

            PopUp Name

            Let’s start by giving the popup a name, this will help to keep organized if you have lots of popups.

            PopUp Pro - Add New - Name

            PopUp Contents

            Here you provide the contents of the popup.

            PopUp Pro - Add New - PopUp Contents

            1. Heading – you can optionally add a heading and subheading, nothing will display if these are both left blank.
            2. Subheading – optional, as with the heading.
            3. PopUp Feature Image – optionally, you can add a feature image as well. When using a feature image, you’ll see a few more options for customizing the appearance or for hiding it on mobile devices.
              PopUp Pro - Add New - Featured Image options
            4. PopUp Content – use the power of the visual editor to add practically any content you want.
            5. Call To Action Button Label – another optional element, you can easily add a button to link to a call to action URL.
            6. Call To Action Button Link – the URL to link to when the button is pressed.

            How these elements display will depend on the settings you provide below as well your theme or any custom CSS you may have added.


            This section will provide a number of settings for customizing the popup’s look and feel.

            You can always use custom CSS to full customize the appearance of the popup as well. We’ll gladly assist with that through the support forums!

            PopUp Pro - Add New - Appearance

            Select a Style from the following:

            • Simple
              PopUp Pro Preview - Simple
            • Minimal
              PopUp Pro Preview - Minimal
            • Cabriolet
              PopUp Pro Preview - Cabriolet

            Tick the ‘No rounded corners‘ option to turn off rounded corners.

            Tick the ‘Use custom colors‘ option to specify custom colors. Doing so will allow you to select colors using a color dialog.

            PopUp Pro - Add New - Appearance - Colors

            Tick the ‘Use custom size‘ option to specify a custom width and height, otherwise, the popup will be responsive (it will adapt in width based on the browser and viewing device).

            The ‘Allow page to be scrolled‘ option will allow users to still scroll the page when the popup is displayed.


            Customize how you want the popup to behave using settings in this section.

            PopUp Pro - Add New - Behavior

            • Enter a value for ‘Appear after x seconds’ and the popup will display after that number of seconds has passed.
            • Enter a percentage value and select either percentage or px for the ‘Appear after x%/px of the page has been scrolled‘ setting and the popup will display once that portion of the page has been scrolled.
            • Specify a CSS element for the ‘Appear after user scrolled until CSS selector’ option and the popup will be displayed until the user scrolls up to that element. It will then close automatically.
            • Easily add a “Never see this message again” link. Users can click the link and never see the popup again.
            • Tick the ‘Close button acts as “Never see this message again” link‘ in order to have the popup’s close button act as that link.
            • By default, popups will be closed when the user clicks anywhere in the background outside of the popup. The ‘Click on the background does not close PopUp‘ option turns that off.

            If you’ve ticked the JavaScript Events condition in the settings (PopUp > Settings > Available Conditions), you’ll see some additional settings here.

            PopUp Pro - Add New - Behavior - Javascript events

            • Specify a CSS element in the ‘Appear after user scrolled until CSS selector‘ field in order to show the popup after the user scrolls to the specified element on the page.
            • The ‘Appear when the mouse leaves the browser window‘ option lets you show the popup only when the mouse leaves the window on desktop computers. This provides a great sort of exit-intent functionality.
            • Specify a CSS elements in the ‘Appear when user clicks on a CSS selector‘ to show the popup when the specified element is clicked.
            Displaying Conditions

            This section will show a list of options you can use to display popups based on certain conditions. The conditions available here will depend on the conditions you select from the settings page at PopUp > Settings.

            PopUp Pro - Add New - Displaying Conditions

            To activate a condition, simply select it from the Available Conditions list. You’ll then be able to interact with any additional settings it provides in the opposite pane.

            The available conditions are based on the conditions you select at PopUp > Settings > Available Conditions.

            The following tips can be helpful when specifying your conditions:

            • Try not to use too many or you may set a condition that cancels itself, causing the pop up to not display when you want it to.
            • When adding URLs to conditions, be sure to include the http:// part at the beginning, and a trailing slash (/) at the end.
            Preview and Save

            While editing a PopUp, you’ll always see options for previewing, saving and activating it.

            PopUp Pro - Add New - Save

            • Click the Preview PopUp button to see a quick preview right in your admin area.
            • Use the Status switch to Activate or Deactivate the popup. If it is Inactive, it will not be displayed in your site’s front-end.
            • Click the ‘Move to Trash‘ link if you wish to delete it.
            • Click the Save button to save any changes.

            Here’s an example of how the popup can look:

            Click 'Preview PopUp' to see it in action.

            Editing a PopUp

            You can easily edit PopUps by going to PopUp > PopUps.

            PopUp Pro Menu

            You’ll see a list of them along with various details and options.

            PopUp Pro - PopUps

            The Conditions column shows you all the conditions in use for the popup.

            The Order column shows you the order, helpful for display purposes since you can have multiple popups in one page. The order will designate which is displayed first. The order can be changed by hovering over a popup and dragging the bar icon.

            The Active column lets you know if the popup is Active or Inactive.

            Hover your mouse over the title of a PopUp and you’ll see a number of options to interact with that specific PopUp:

            • Bar icon – click and drag this icon to change the order of the popup in the list.
            • Edit – go to the edit page for this popup.
            • Activate/Deactivate – Turn the popup on/off.
            • Preview – easily preview the popup right from here.
            • Trash – delete the popup.

            On larger viewing devices such as desktops, you’ll see a Bulk Actions drop-down with the following options:

            • Move to Trash
            • Active
            • Deactivate
            • Toggle activation

            Simply select any items you’d like to use those bulk actions on, select the bulk action you want and click the Apply button.

            Add another popup by clicking the Add New button.

            PopUp Settings

            Let’s check out the settings at PopUp > Settings.

            PopUp Pro - Settings Menu

            You’ll see a number of sub-sections here, we’ll go through each.

            PopUp Loading Method

            In this section, you’ll be able to select the method used to load popups as well as the method used for country lookups.

            PopUp Pro - Settings - Loading Method

            From the Load PopUp Using drop-down, you’ll be able to select from the following:

            • Page Footer: Include PopUp as part of your site’s HTML (no AJAX call).
            • WordPress AJAX: Load PopUp separately from the page via a WordPress AJAX call. This is the best option if you use caching.
            • Custom AJAX: Load PopUp separately from the page via a custom front-end AJAX call.
            • Anonymous Script: Load PopUp like WordPress AJAX, but the URL to the JavaScript file will be masked.

            If you have difficulty getting your popup to display, try changing the loading method here.

            And from the Country Lookup drop-down, you can select from the following:

            • Host IP – Uses the hostip.info web service.
            • Telize – Uses the telize.com web service.
            • Free Geo IP – Uses the freegeoip.net web service.
            • Local IP Lookup Table – Uses a local lookup table. Please refer to the “Using a Local Geo-Database” below for details on using this option.

            Click the Test my Location button to test your location using the selected service. You’ll see a message displayed showing your IP and location details.

            PopUp Pro - Settings - Test my location

            Supported Shortcodes

            In this section, you will see a list of all the shortcodes the plugin detects, using the Shortcode API.

            PopUp Pro - Settings - Supported Shortcodes

            Some plugins or themes might provide shortcodes that only work with certain loading methods, some may be designed to work only under certain conditions and may not work. This list explains which shortcodes can be used with each loading method and which shortcodes will not work.

            Avaliable Conditions

            In this section, you will find a list of all the conditions available for showing popups.

            PopUp Pro - Settings - Available Conditions

            The conditions you select here will activate certain rules and possibly other settings with the PopUp editing screen. The conditions currently available, along with the rules that are activated when using them, are as follows:

            Name Activated Rules

            Adds advanced URL matching with regex support.
            On approximate URL
            Not on approximate URL
            Basic URL

            Simple and fast URL matching.
            On specific URL
            Not on specific URL
            Browser type

            Conditions that check browser details.
            Only on mobile devices
            Not on mobile devices
            JavaScript Events

            New Behavior Options: Show PopUp when the mouse leaves the browser window or when the user clicks somewhere.

            Conditions based on the user’s Membership details.
            By Membership Level
            By Membership Subscription
            PopUp Details

            Test for PopUp specific values.
            PopUp shown less than
            Post Categories

            Adds post category related rules.
            On post category
            Not on post category
            Post Types

            Adds post type-related rules.
            For specific Post Types
            Not for specific Post Types

            Examine how the visitor arrived on the current page.
            From a specific referrer
            Not from a specific referrer
            Not from an internal link
            From a search engine

            Conditions based on the user role of the current user.
            Visitor has role
            Visitor does not have role
            Screen Size

            Adds a condition that can limit PopUps to certain screen sizes.
            Depending on screen size
            User status

            Conditions based on the current user.
            Visitor is logged in
            Visitor is not logged in
            Visitor has commented before
            Visitor has never commented
            Visitor Location

            Conditions based on the location of the visitor.
            In a specific Country
            Not in a specific Country
            XProfile Fields

            BuddyPress: Examine values in the users extended profile.
            On XProfile match
            Not on XProfile match
            Save All Changes

            When you’re done adjusting the settings, be sure you click the Save All Changes button!

            PopUp Pro - Settings - Save All Changes

            Using a Local Geo-Database

            To use the Local IP Lookup Table option in the settings (PopUp > Settings > Country Lookup), you must first add the required table to your database.

            Go to https://github.com/shrkey/countrylookupfromip and download the zip file by clicking the “Download Zip” button in the sidebar. Then unzip that file on your computer. Inside the folder, you will find a file called countrylookupip.sql.


            Import countrylookupip.sql to your database. In phpmyadmin, be sure you are in the root of your database. Click the “Import” tab, then the “Browse” button and browse to the countrylookupip.sql file you just unzipped. Leave all other settings as they are, and click the “Go” button at the bottom.


            Once the new table has been added to your database, you can enable the Local IP Lookup Table option.

            IMPORTANT: Always make a backup of your database before performing operations like this, just to be safe.

            That’s it!

            We hope you enjoy using PopUp Pro! If you have trouble with any aspect of configuration, code or general usage, or if you have a cool feature suggestion to make, please head on over to the community forums where support staff and other helpful members are waiting to lend a hand.

            PopUp Pro Feature Set

            Feature rich for precision display.

            • Easy, intuitive interface
            • Network-wide pop-ups
            • Site specific pop-ups
            • URL specific pop-ups
            • Built-in templates
            • Embed images
            • Call-to-action buttons
            • Responsive or fixed
            • Hide pop-ups on mobile devices
            • Conditions control who sees a pop-up
            • Trigger based on time
            • Trigger for location
            • Control with CSS markers
            • Trigger with clicks
            • Allow visitors to hide pop-ups forever
            • Display to specific geographic locations