=== WowOptin - Popup Maker and Optin Forms ===
Contributors: wpxpo, anik4e, jakirhasan
Tags: popup, optin, lead generation, email newsletter, pop-ups
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.5.3
License: GPLv3
License URI: http://www.gnu.org/licenses/gpl-3.0.html

Create popups, banners, slides and newsletter forms with a visual editor. Collect leads with Mailchimp, webhooks and local analytics.

== Description ==

WowOptin is a visual popup and opt-in builder for WordPress. Create newsletter subscription forms, lead magnets, announcements, coupon offers and promotional banners with flexible design and placement controls.

* Canva-like popup building flexibility with a visual, responsive editor.
* 700+ ready-made popup designs across the Free and [Pro] template collections. Premium designs are marked [Pro].
* Integrations with 10+ email marketing and analytics tools across Free and [Pro]. Mailchimp and owner-configured webhooks are included in Free; additional integrations require [Pro].
* [Pro] AI-powered copywriting with ChatGPT, Gemini and Grok.
* [Pro] Manual and automated A/B testing, advanced triggers and targeting.
* A plugin by WPXPO, whose plugins power 60K+ businesses.

**[Pro] means a paid feature supplied by the separately purchased and installed WowOptin Pro add-on.** Free works without a license key. The template and integration totals above cover both editions; they do not mean every design or integration is included in Free.

[WowOptin Pro](https://wowoptin.com/) | [Documentation](https://wowoptin.com/docs/) | [Support](https://wowoptin.com/support/)

Product overview: features marked [Pro] below require the separate add-on.

[youtube https://www.youtube.com/watch?v=280J8oZzI_E]

= What can I create with WowOptin Free? =

* Popups: collect newsletter subscribers, offer lead magnets, share announcements or display coupons and special offers.
* Banners / hello bars: place campaign announcements at the top or bottom of your pages.
* Slides: show a message or offer with adjustable placement.
* Inline forms: place opt-ins in supported post, page or widget content using a shortcode.

Free supports single-step campaigns. Multi-step forms and exit intent triggers require [Pro].

= Visual builder and responsive design =

Position elements visually and customize their appearance with Canva-like flexibility. Adjust layouts for desktop, tablet and mobile, and hide selected elements on specific devices.

Free includes heading, safe custom HTML, static countdown, image, video, coupon, social share, button, form, columns/group, shape and shortcode blocks. Use WordPress media-library uploads and ordinary design and placement controls.

Executable custom HTML (scripts, event attributes, srcdoc and executable URL protocols) is removed for every role. Stylesheet tags are removed; safe inline styles remain supported. Custom CSS entry is removed; use the design controls or WordPress’s built-in CSS tools. Public forms use signed campaign/form bindings and owner-saved destinations; cached stale forms ask visitors to reload.

= Ready-made templates =

Start with a free design from the online template and preset library, then customize its content and layout. The 700+ design collection includes both free designs and premium designs marked [Pro]; premium designs require the separate Pro add-on.

= Triggers, audiences and display rules in Free =

Choose when a campaign appears, who sees it and where it displays:

* Trigger: display after a chosen number of seconds, using one trigger group.
* Audience: devices, new or returning visitors, logged-in status, browser languages and operating systems.
* Display rules: entire site, front page, selected pages and parent pages, posts, categories, tags, built-in post types and authors, using one display-rule group.

Advanced triggers, location and traffic-source targeting, custom post types and advanced display conditions require [Pro].

= Schedules and opt-in intervals in Free =

Set ordinary start and end dates for a campaign. Choose repeat intervals in seconds, minutes or hours, and stop showing it after a visitor closes it or completes an action. Recurring schedules, intervals in days/weeks/months and view limits require [Pro].

= Lead collection and analytics in Free =

Connect forms to Mailchimp or owner-configured webhooks, manage saved leads and review local campaign analytics. External destinations receive submissions only after the site owner configures them. Additional mail/CRM integrations and Google Analytics require [Pro].

= WowOptin Pro features [Pro] =

The following features require the separately installed WowOptin Pro add-on and are not included in the Free plugin:

* [Pro] Multi-step forms: collect an email address, then display another message, offer or coupon.
* [Pro] Advanced triggers: scrolling, inactivity, exit intent and click/hover triggers, with additional trigger groups.
* [Pro] Advanced audience targeting: location and traffic sources.
* [Pro] Advanced display rules: additional rule groups, custom post types and WooCommerce/EDD conditions.
* [Pro] Recurring schedules: show campaigns on selected days and times.
* [Pro] Extended intervals and view limits: repeat in days, weeks or months, and limit campaign views.
* [Pro] Evergreen countdowns: create visitor-specific countdown offers.
* [Pro] AI-powered copywriting: generate or rewrite campaign messages with ChatGPT, Gemini or Grok, including multilingual prompts. A provider account/API key is required; provider charges may apply.
* [Pro] A/B testing: compare campaign variants and select a winner manually or automatically.
* [Pro] Additional integrations: connect providers such as MailerLite, Brevo, HubSpot, GetResponse and ActiveCampaign, and use Google Analytics. Provider accounts or companion plugins may be required.
* [Pro] Premium template access and stock image/video search and import through Pexels and Unsplash.

Pro requires compatible WowOptin Free with PHP extension interface version 2. Update Free and Pro together; older add-on releases using interface version 1 cannot supply campaign content to this renderer. Existing standalone Pro retains its replacement runtime during the Free-first upgrade transition. See the Pro readme for installation details and its additional external services.

= Support, author and source code =

Developed by [WPXPO](https://www.wpxpo.com/). Visit the [documentation](https://wowoptin.com/docs/), ask for help through [support](https://wowoptin.com/support/), or [contribute to the source on Bitbucket](https://bitbucket.org/wpstabon/optin/src/master/).

== Other Wow Plugins ==

As you are considering WowOptin, make sure to check out our other plugins that can also help you make your business WOW.

📄 [**WowInvoice**](https://wordpress.org/plugins/wow-pdf-invoices-packing-slips/): A reliable PDF invoices & packing slips plugin for WooCommerce that keeps your order documents organized and ready.

🚚 [**WowShipping** 🔥](https://wordpress.org/plugins/wow-table-rate-shipping/): The most advanced and flexible table rate shipping plugin for WooCommerce with live rates from UPS, USPS, FedEx, DHL Express, Australia Post, Canada Post, and Sendle.

➕ [**WowAddons** 🔥](https://wordpress.org/plugins/product-addons/): The best product addons plugin for WooCommerce with 25+ extra options, custom fields, and conditional logic, allowing you to sell customizable products with ease.

📃 [**PostX**](https://wordpress.org/plugins/ultimate-post/): The first ever Gutenberg dynamic site builder plugin specially designed & developed for News, Magazine, and Blogging sites.

🏪 [**WowStore**](https://wordpress.org/plugins/product-blocks/): Give your WooCommerce store the look and professional style it deserves. On top of that enjoy exclusive features to increase conversion and boost sales.

🤑 [**WowRevenue**](https://wordpress.org/plugins/revenue/): The most advanced and unique WooCommerce plugin that boosts your revenue by increasing the order value without any extra marketing costs.

📦 [**WholesaleX**](https://wordpress.org/plugins/wholesalex/): The complete solution for creating and managing WooCommerce B2B or B2B + B2C hybrid stores without breaking your bank.

== External services ==

The following describes the services retained in this edition. Policies were checked against their operators on 11 October 2026. Optional integrations send no subscriber data until configured by the site owner and a valid form is submitted.

= WPXPO templates, presets and recipes =

The editor/template browser requests metadata or a selected design from apps.wowoptin.com/wp-json/otmp/v1/templates, /presets and /recipes. Requests include plugin version, development-mode flag, cache key and requested design/filter identifiers; remote thumbnails are loaded when displayed. Free sends no license information and needs no service account. Pro also sends its saved license key for premium access. These metadata and design requests are editor actions and do not deliver visitor leads. Imported templates, presets and recipes may also contain images or background media hosted on apps.wowoptin.com. Importing a design keeps those remote URLs; it does not automatically copy the media into the WordPress media library. When that media loads in the editor or on public campaign pages, WPXPO receives the requesting browser's network IP address, request headers and any referrer allowed by browser policy. These media requests are separate from form submissions and can occur even when IP Tracking is disabled. To avoid them, replace all remote media in the campaign, including backgrounds, with files hosted in your site's media library before publishing. [Terms](https://www.wpxpo.com/terms-and-conditions/) | [Privacy](https://www.wpxpo.com/policy/privacy/).

= WPXPO news, tutorials and support =

Opening News or tutorial content requests posts/docs and their media from wowoptin.com/wp-json/wp/v2/. The browser sends its usual IP, browser headers and referrer; no service account is required. Sending the support form explicitly POSTs to wpxpo.com/wp-json/v2/support_mail with administrator name, email, subject, message and any chosen attachment. Nothing is submitted before clicking Send. [Terms](https://www.wpxpo.com/terms-and-conditions/) | [Privacy](https://www.wpxpo.com/policy/privacy/).

= IPinfo =

IP Tracking is OFF for a new installation; existing saved values are preserved. When enabled, a non-preview campaign initializes a lookup only if the optn_user_info cookie has no saved visitor IP. The browser first requests https://ipinfo.io/json directly, with up to five attempts. IPinfo receives the visitor's network IP and ordinary browser request metadata (including headers and any referrer allowed by browser policy), and returns IP/country data. If this lookup fails, the browser calls this site's get-ipinfo route; the server then requests https://ipinfo.io/{visitor-ip}/json using the validated public visitor address from REMOTE_ADDR. For that fallback, IPinfo receives the visitor IP in the URL plus the server's network address and HTTP headers. A successful lookup stores IP/country in the optn_user_info cookie for 30 days; a saved IP skips further lookups until that cookie expires or is removed. No IPinfo account/key is configured by this plugin. Disabled tracking removes/ignores the location cookie, blocks geolocation and omits automatically collected IP/country metadata from analytics/lead forwarding. A short-lived salted address hash is used separately for submission rate limiting. [Terms](https://ipinfo.io/terms-of-service) | [Privacy](https://ipinfo.io/privacy-policy).

= Mailchimp =

Optional: add a Mailchimp account/API key, select its saved audience and map fields to a campaign form. Account setup and field/list refresh call the account's *.api.mailchimp.com API with its credentials. A valid submission sends mapped email/name/custom fields, saved audience IDs and saved opt-in preference. Automatically collected IP metadata is sent only while IP Tracking is enabled. There is no default account or automatic subscription destination. [Terms](https://mailchimp.com/legal/terms/) | [Privacy](https://www.intuit.com/privacy/statement/).

= Owner-configured webhooks =

The webhook switch is enabled by default, but sends nothing until the site owner configures a form destination URL, GET/POST method and field mappings. A valid submission sends only the saved mappings' visitor values to that saved public HTTP(S) URL. It does not accept destination URLs or adapters supplied by the visitor. The destination operator's account requirements, terms and privacy policy depend on the owner's chosen service; the owner must supply its applicable links.

= Google Fonts =

Google Fonts is OFF for a new installation and must be enabled in Settings before selected campaign/editor typography can load remote CSS/font files from fonts.googleapis.com and fonts.gstatic.com. Existing saved settings are preserved. Frontend preconnect hints are emitted only when an eligible rendered campaign has queued a Google Fonts stylesheet; pages without such typography emit no Google Fonts hints. Disabling Google Fonts blocks plugin font requests in the editor, font picker and frontend; system fonts remain available. Font-family/weight queries and the browser's IP, request headers and any referrer allowed by browser policy are sent to Google; no account is required. [Terms](https://policies.google.com/terms) | [Privacy](https://policies.google.com/privacy).

= YouTube and Vimeo =

Opening video tutorials or choosing a YouTube/Vimeo URL in a video block loads the provider's player (www.youtube.com/embed/ or player.vimeo.com/video/). The browser sends the chosen video ID, player options, IP, headers and referrer; player cookies/data processing are controlled by the provider. Video embeds need no viewer account and are not loaded unless that content is displayed. Locally uploaded videos do not use these services. YouTube: [Terms](https://www.youtube.com/t/terms) | [Privacy](https://policies.google.com/privacy). Vimeo: [Terms/legal](https://vimeo.com/legal/) | [Privacy](https://vimeo.com/legal/privacy).

Social-share buttons and external links open the selected destination only when clicked, with the shared URL/text where applicable. Owner-entered remote images, videos and links load from their chosen hosts; those hosts receive ordinary browser requests and have their own policies.

Services belonging only to Pro (additional mail/CRM/AI, Google Analytics, stock media and license/update services) require the separately installed Pro plugin and are documented in its readme. They are not called by Free.

== Installation ==

Requires WordPress 6.4+, PHP 7.4+ and MySQL 5.6+.

1. Install WowOptin from Plugins > Add New, or upload the optin ZIP.
2. Activate WowOptin in Plugins.
3. Open WowOptin, create a supported campaign and configure its form destinations if needed.

== Frequently Asked Questions ==

= Which integrations are included in Free? =

Mailchimp and owner-configured webhooks. The 10+ integrations cover Free and [Pro] together; other mail/CRM adapters, AI and Google Analytics require the separate [Pro] add-on.

= Are all 700+ templates included in Free? =

No. The collection includes free and [Pro] designs. Free can import and customize free designs; premium designs marked [Pro] require the separate Pro add-on.

= Are exit intent and multiple steps included in Free? =

Exit intent and multiple steps require [Pro]. Free supports a single step with the after-X-seconds trigger. Scroll, inactivity and click/hover triggers also require [Pro].

= Can I use AI copywriting or A/B testing in Free? =

AI copywriting and both manual and automated A/B testing require [Pro]. AI services also require your own provider credentials and may have separate charges.

= Will I get support for WowOptin? =

Yes. Visit the [support page](https://wowoptin.com/support/) or browse the [documentation](https://wowoptin.com/docs/).

= What happens when I deactivate Pro? =

If Free remains active, it continues on the next request using Free JavaScript. Campaigns requiring unsupported features or active A/B membership are skipped publicly. Their records remain stored. Free can read those campaigns, but saving changes returns a conflict while required handlers are absent, protecting unknown settings and paid steps. Reactivating compatible Pro restores its handlers, components, schema and automatic experiment jobs without resetting existing data.

= Does disabling IP Tracking reset old settings or remove analytics? =

Existing saved settings are retained. Turning it off stops IP lookup and automatically collected IP/country metadata; ordinary local campaign analytics remain available. The submission rate limiter uses a short-lived salted address hash independently.

== Screenshots ==

1. Visual responsive builder
2. Popup design (exit intent trigger requires [Pro])
3. Banners/hello bars
4. Slides
5. Audience controls (location/traffic targeting requires [Pro])
6. After-time trigger (advanced triggers require [Pro])
7. Display rules (advanced conditions require [Pro])
8. Templates (premium designs labeled [Pro])
9. Dashboard and local analytics

== Translations ==

Translate WowOptin on [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/optin/). First-party PHP and JavaScript use the optin text domain. The catalog includes authoring sources and is registered against the selected script handles.

== Changelog ==

= 1.5.3 - 01 Nov 2026 =
* Fix: Replaced PHP 8-only string functions to maintain PHP 7.4 compatibility in campaign rendering, device detection, and display rules.

= 1.5.2 - 30 Oct 2026 =
* Fix: Prevented early WooCommerce translation loading notices by deferring cron scheduling until init.
* Fix: Corrected database migration result handling to prevent false failure reports and correctly detect SQL errors.

= 1.5.1 - 27 Oct 2026 =
* Fix: Wordpress code issue (again).

= 1.5.0 - 22 Oct 2026 =
* Fix: Wordpress code issue.


[View the changelogs for older versions.](https://bitbucket.org/wpstabon/optin/src/release/changelog.txt)
