=== ConvertWheel – Spin-to-Win Lead Capture ===
Contributors: huzaifafarrukh
Tags: lucky wheel, gamification, popup, lead capture, woocommerce
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Create spin-to-win campaigns, engage visitors, collect leads, and monitor campaign activity from your WordPress dashboard.

== Description ==

**A spin is just the beginning.**

ConvertWheel helps WordPress websites turn ordinary visits into interactive spin-to-win experiences. Invite visitors to take part in a prize-wheel campaign, share their details, and engage with your business through a fun promotion.

Whether you run a service website, online store, or marketing campaign, ConvertWheel brings together visitor engagement, lead capture, promotional rewards, and campaign reporting within WordPress.

= Key features =

* **Interactive prize wheels:** Show colorful reward slices alongside a visitor entry form.
* **Flexible popup layouts:** Display a centered popup, left or right side panel, or full-screen campaign.
* **Campaign styling:** Present different wheel colors, prize labels, headings, and promotional messages.
* **Lead capture forms:** Show email, name, and phone fields for relevant visitor details.
* **Campaign reporting:** Review views, spins, captured leads, and conversion figures in your dashboard.
* **Wheel management:** Access status, editing, analytics, cloning, and deletion controls.
* **Shortcodes:** Copy a wheel's shortcode from its campaign card for use in supported WordPress content.

= Different campaigns, different layouts =

A centered popup keeps the spin wheel and entry form together. Side panels let you display a campaign from the left or right, while a full-screen experience gives a promotion more space. Your wheel's appearance and message can reflect a seasonal offer, welcome promotion, or giveaway.

= Insights from your WordPress dashboard =

The dashboard summarizes active wheels, views, spins, leads captured, and an average conversion figure. Individual campaign cards also display activity metrics and management actions. Reported figures depend on the installed plugin's event-counting behavior; results are not guaranteed.

= From setup to launch =

1. Open ConvertWheel and select **Create New Wheel**.
2. Configure the prize slices, campaign message, and available form fields.
3. Select a layout and the available display settings.
4. Enable the wheel and test it on your site.
5. Review campaign activity in your WordPress dashboard.

= Built for business engagement =

Use ConvertWheel for welcome promotions, seasonal offers, interactive giveaways, lead generation, and customer engagement. The wheel creates an invitation to participate; what you offer and how you follow up are up to your business.

= Optional integrations =

The existing plugin documentation describes optional email marketing services, webhook connections, and WooCommerce-related rewards. Availability depends on the installed version and configuration. Verify and test optional features before using them in a live campaign. See **External services** for the data shared when connections are enabled.

== Installation ==

1. In WordPress, open **Plugins > Add New Plugin**, search for **ConvertWheel**, and install it. Alternatively, choose **Upload Plugin** and upload the plugin ZIP file.
2. Activate **ConvertWheel** from your WordPress Plugins screen.
3. Open **ConvertWheel** in the WordPress admin menu.
4. Select **Create New Wheel** and configure a campaign using the options provided by your installed version.
5. Enable or publish the wheel, then test the form, prize experience, and layout on your website.
6. Use the shortcode shown on the campaign card where appropriate, and return to the dashboard to review activity.

== Frequently Asked Questions ==

= What does ConvertWheel do? =

It lets WordPress site owners present interactive spin-wheel campaigns, collect visitor details, and review reported activity from an admin dashboard.

= Is WooCommerce required? =

No. Core spin-to-win lead capture works without WooCommerce. WooCommerce-specific rewards require WooCommerce and a compatible, configured plugin version.

= Which layouts can I use? =

The supplied examples show centered popups, left and right side panels, and full-screen campaigns.

= Can I customize a wheel? =

The campaign examples show different color themes, prize labels, and messages. Exact editing controls depend on your installed version.

= What visitor fields are available? =

Demonstrated forms show email address, name, and phone fields. Provide applicable privacy notices and consent choices.

= Where can I see performance information? =

The dashboard shows reported views, spins, leads, and conversion figures, including metrics for individual wheels.

= Can I embed a wheel in content? =

Each campaign card shows a shortcode. Copy it into supported WordPress content, then test the display.

= Does ConvertWheel support marketing integrations? =

Optional service connections are described in **External services**. Configure and test each integration before using it with real visitor data.

== Screenshots ==

1. Centered spin-to-win campaign with a prize wheel and visitor entry form.
2. Welcome Special campaign showing an alternative wheel style and prize labels.
3. Left-side wheel panel with a visitor entry form.
4. Right-side wheel panel demonstrating alternate placement.
5. Full-screen wheel experience for a featured promotion.
6. ConvertWheel WordPress dashboard with campaign controls, views, spins, and lead reporting.

== External services ==

ConvertWheel can optionally connect to third-party email marketing and automation services. No integration is contacted unless a site administrator enables and configures it. When an enabled integration is used, submitted lead data is sent after a valid entry has been submitted and the spin processed. Site administrators must configure their forms and integrations in accordance with applicable consent and privacy requirements.

= Mailchimp =

Mailchimp provides email marketing services. If configured and enabled, ConvertWheel sends the email address and any submitted first name, last name, and phone number to the selected Mailchimp audience. Requests use the Mailchimp API at the account's `*.api.mailchimp.com` data-center host. The configured API key and audience/list identifier authenticate and route the request.

Terms: https://mailchimp.com/legal/terms/
Privacy: https://mailchimp.com/legal/privacy/

= Klaviyo =

Klaviyo provides marketing automation services. If configured and enabled, ConvertWheel sends the email address and any submitted first name, last name, and phone number to the selected Klaviyo list, creating an email marketing subscription. Requests use `https://a.klaviyo.com/` and the configured API key and list identifier.

Terms: https://www.klaviyo.com/legal/terms-of-service
Privacy: https://www.klaviyo.com/legal/privacy/privacy-notice

= Kit (formerly ConvertKit) =

Kit provides email marketing services. If configured and enabled, ConvertWheel sends the email address and any submitted first name to the Kit form selected by the site administrator. Requests use `https://api.convertkit.com/` and the configured API key and form identifier.

Terms: https://kit.com/terms
Privacy: https://kit.com/privacy

= MailerLite =

MailerLite provides email marketing services. If configured and enabled, ConvertWheel sends the email address and any submitted first name, last name, and phone number to MailerLite. If a group is configured, the subscriber is assigned to that group. Requests use `https://connect.mailerlite.com/` with the configured API key and group identifier.

Terms: https://www.mailerlite.com/legal/terms-of-service
Privacy: https://www.mailerlite.com/legal/privacy-policy

= Brevo =

Brevo provides email marketing and customer communication services. If configured and enabled, ConvertWheel sends the email address and any submitted first name, last name, and phone number to the selected Brevo list. Requests use `https://api.brevo.com/` and the configured API key and list identifier.

Terms: https://www.brevo.com/legal/termsofuse/
Privacy: https://www.brevo.com/legal/privacypolicy/

= Zapier =

Zapier is an automation service. If configured and enabled, ConvertWheel sends the submitted email address, other submitted form fields, an event name, and a timestamp to the Zapier webhook URL configured by the site administrator. If a webhook secret is configured, the request also includes a signature in an HTTP header.

Terms: https://zapier.com/legal/terms-of-service
Privacy: https://zapier.com/privacy

= Custom webhooks =

A custom webhook sends data to an external URL selected by the site administrator. If configured and enabled, ConvertWheel sends the submitted email address, other submitted form fields, an event name, and a timestamp after a valid entry is processed. If a webhook secret is configured, a request signature is included in an HTTP header. The recipient service's terms and privacy policy depend on the URL configured by the site administrator; review them before enabling the integration.

== Editor source and build ==

The human-readable editor source is in `admin/app/`, with `admin/app/index.js` as the JavaScript entry point and `admin/app/style.css` as the Tailwind CSS entry point. Run `npm install` and `npm run build` in the plugin root to generate `admin/build/editor.js` and `admin/build/editor.css`. The file `admin/src/wp-element-shim.js` maps React and ReactDOM to WordPress's `wp.element` rather than bundling them separately.

== Changelog ==

= 1.1.0 =
* Current release.

= 1.0.0 =
* Initial public release.
