IdeaPlugins logoProduct documentation · v1.0.10
✦ WooCommerce growth toolkit

Spin to Win Wheel
for WooCommerce

A practical, step-by-step guide to installing the plugin, configuring prizes and coupon rules, customizing the popup, collecting leads, reviewing analytics, and safely managing your settings.

WordPress 5.8+PHP 7.4+WooCommerce 6.0+Plugin v1.0.10
01 · Introduction

Welcome to Spin to Win Wheel

Turn a visitor’s interest into a playful discount experience. Visitors enter their email, spin the wheel, and may receive a prize or coupon configured by the store administrator.

🎯
Prize control

Configure up to 12 wheel slices, prize types, weights and slice colors.

🎨
Visual customizer

Adjust popup layout, wheel appearance, typography, images, animations and launcher.

📈
Lead & performance data

Review entries, coupons and engagement metrics from the plugin dashboard.

Recommended workflow: configure the wheel prizes first, set coupon rules, edit visitor-facing text, review consent and anti-abuse settings, then use Preview before enabling the popup for shoppers.

The administration interface is available to WordPress administrators under Spin Wheel in the left-hand WordPress menu. The plugin’s settings are organized into tabs; the names below match the interface in version 1.0.10.

02 · Before you begin

Requirements & compatibility

ItemRequirement from plugin package
WordPress5.8 or newer
PHP7.4 or newer
WooCommerce6.0 or newer for WooCommerce coupon functionality
Plugin version covered here1.0.10
Order storage / checkoutDeclares compatibility with WooCommerce HPOS and Cart/Checkout Blocks.
Important: the plugin’s coupon generation, existing-coupon selection and applying a coupon to the cart require WooCommerce to be active. Without WooCommerce, WooCommerce-specific prize types cannot work as intended.
03 · Setup

Install and open the plugin

  1. Open your WordPress dashboard

    Sign in with an administrator account.

  2. Go to Plugins → Add New Plugin

    Click Upload Plugin and choose Spin_to_Win_Wheel_for_WooCommerce-v1_0_10.zip.

  3. Install and activate

    Click Install Now, then Activate Plugin. Keep the ZIP intact; upload the ZIP rather than extracting it on your computer.

  4. Open Spin Wheel

    Use the new Spin Wheel item in the WordPress admin sidebar. The plugin also adds a Settings shortcut on its Plugins-list row.

  5. Configure and preview

    Set your prizes and display rules, then click Preview in the plugin’s top bar to review the front-end experience as an administrator.

WordPress admin · Example navigationIllustration
Menu itemPurposeNext action
Plugins → Installed PluginsActivate, deactivate or update the plugin.Click Settings or open Spin Wheel in the sidebar.
Spin WheelAll plugin tabs and configuration.Start with General, then Wheel Slices.
WooCommerce → CouponsView and manage WooCommerce coupons.Use this for checking automatically generated coupons.
04 · Overview

Dashboard

The Dashboard summarizes activity and provides shortcuts. The exact numbers depend on traffic and entries recorded on your site.

Dashboard · Example metric cardsIllustrative layout
Participants / Leads

Number of saved entries in the plugin’s lead table.

Coupons issued

Saved entries that have a non-empty coupon code.

Popup views

Recorded popup-open events.

Dashboard areaWhat it helps you understand
Coupons redeemedCoupon redemption figures where the dashboard can match the plugin’s coupon records against WooCommerce usage.
Conversion / 7-day trendHow activity changes over time; interpret trends alongside your store traffic.
Activity chart & engagement funnelCompares recorded opens and subsequent actions such as launcher clicks, closes, code copies and apply-to-cart clicks.
Prize breakdown / email providersSummarizes prizes and the email domains represented in saved entries.
Latest entries / shortcutsQuick access to recent leads and commonly used settings.

Dashboard mockups in this guide are explanatory examples, not live screenshots or sample analytics from your website.

05 · Display behavior

General tab: activation, pages and timing

Activation

SettingWhat it doesSuggested use
Enable spin wheelMaster switch for visitor-facing popup.Turn off temporarily without deleting your setup.
Preview mode (admins only)Restricts display to logged-in administrators while testing.Enable during setup; disable when ready to launch.
Hide for logged-in usersSuppresses the popup for logged-in visitors.Useful if campaigns target new visitors.

Where should the wheel appear?

Select one or more page types. You can also add specific page/post IDs to include or exclude individual locations.

Page typeExamples
Home pageFront page / blog home.
ShopWooCommerce shop archive.
Product categories & tagsWooCommerce product category and tag archives.
Single product pagesIndividual product pages.
Cart / CheckoutWooCommerce cart and checkout pages.
My account pagesWooCommerce account area.
Blog posts & archivesPosts, categories, tags, author/date archives.
Other pagesRegular WordPress pages outside the special types above.
  • Always show on these page IDs: comma-separated IDs that are additionally allowed.
  • Exclude page IDs: comma-separated IDs that must never show the popup. Exclusions take priority over normal page-type targeting.
  • Show on desktop / tablet / mobile: controls device-specific visibility.

Popup trigger

TriggerHow it behaves
After a delayOpens after the configured number of seconds (0–600).
After scrollingOpens when a visitor reaches the configured scroll percentage (1–100%).
Exit intent (desktop)Attempts to open when desktop exit intent is detected.
Only when clickedWaits for the floating launcher or shortcode button.

Do not show again for: number of days after a visitor closes the popup. Set to 0 to show again on every page load. Show floating launcher enables the reopen button. Keep launcher after spin allows a visitor to reopen the result/prize interface after spinning.

06 · Prize setup

Wheel Slices: prizes and chances

Configure the segments shown on the wheel. The interface supports a minimum of 2 and a maximum of 12 slices. Each slice can be enabled, labeled, assigned a prize type and styled with its own background and text color.

Example prize configurationIllustration only
FieldMeaning
EnabledInclude or disable this segment.
Label / sub-labelMain text and optional supporting text printed on the slice.
Prize typeDetermines what the visitor receives.
AmountDiscount amount or percentage for generated WooCommerce coupons.
Existing couponSelect an existing published WooCommerce coupon.
Custom codeDisplays a manually supplied code; the plugin does not create a WooCommerce coupon for plain text.
Weight / chanceRelative probability weight used by the server-side prize selection. Higher weight means a greater relative chance, not a guaranteed percentage.
Background / text colorPer-slice visual styling.

Available prize types

  • Fixed amount coupon (auto-generated): creates a WooCommerce fixed-cart discount coupon.
  • Percentage coupon (auto-generated): creates a percentage discount coupon.
  • Free shipping coupon (auto-generated): creates a coupon with free shipping enabled.
  • Existing WooCommerce coupon: returns a selected existing coupon code.
  • Custom code (plain text): displays a code you supply; make sure it is valid and explain any manual redemption process.
  • No prize: a “better luck next time” result without a coupon.
Probability tip: treat weight as a relative weight. For example, weights 10 and 30 give the second slice three times the selection weight of the first, among enabled slices. Test every prize type before publishing; never promise a prize unless the corresponding coupon/code is valid.
07 · Copywriting

Texts & Content

This tab controls the text shown to visitors: the initial popup, result messages, validation errors and floating launcher. You can localize the visible copy by replacing the English defaults with your preferred language.

GroupFields you can editNotes
Popup textEyebrow label, title, subtitle, email placeholder, name placeholder, consent text, privacy-link label, main button, loading text, small note and close label.Keep the headline concise and explain why an email is requested.
Result textWin eyebrow/title/message, no-prize title/message, coupon label, copy button, copied confirmation, apply-to-cart button and confirmation, continue-shopping text/link, email-sent note and expiry text.Supported placeholders include {prize}, {coupon} and {date} in relevant messages.
Error messagesInvalid email, missing name, consent not accepted, already used, rate limited, blocked email domain and generic error.Use clear, helpful messages rather than technical errors.
LauncherLauncher text, icon, style, position and edge attachment.Style options: button with icon and text, icon-only round button, or vertical side tab.

Launcher positions: bottom-left, bottom-right, middle-left and middle-right. Attach to the screen edge removes the gap between the launcher and screen edge; the side-tab style always sits on the edge.

08 · Visual identity

Design: layout, colors and effects

Use the Design tab to make the popup match your store. Change a few settings at a time and preview on desktop and mobile so text remains readable.

Design groupSettings and purpose
LayoutWheel on the left/right, popup max width, corner radius, entrance animation (zoom, slide, fade or 3D flip), overlay color/opacity/blur and whether clicking outside closes the popup.
ColorsPopup background, wheel-area background, title/text/muted text colors, accent gradient colors, button text, input background and border.
TypographyFont family (theme, system, rounded, serif, monospace or custom font stack), eyebrow/title/subtitle/body/button sizes and title weight.
ImagesLogo above the form title, logo height, optional wheel-area background image and opacity, and image in the wheel center.
WheelMaximum wheel size, rim gradient colors, LED lights/color/count, center hub color, pointer color, slice label sizes/weight, spin duration and number of full rotations.
EffectsButton radius, input radius, pulsing button glow, confetti on win and confetti amount.
Launcher stylingLauncher background, text color and corner radius.
Design tip: use strong contrast between text and background, avoid oversized headings on mobile, and keep the popup’s main call-to-action visually distinct. If you use a custom font stack, that font must already be loaded by your theme or site.
09 · Visitor form

Form & Security

SettingWhat it meansConsiderations
Ask for the nameShows an optional name field.Collect only information you actually need.
Name is requiredRequires a name when the name field is enabled.Only appears when “Ask for the name” is enabled.
Require consent checkboxRequires the visitor to tick the consent checkbox.Recommended by the plugin for GDPR/KVKK-related workflows; have your own privacy/legal wording reviewed.
Privacy policy URLURL used for the privacy policy link.When empty, the plugin falls back to the WordPress privacy page if available.
One spin per emailPrevents repeated spins using the same email.Enable for one-entry-per-email campaigns.
One spin per IP addressLimits repeat spins from the same IP.May affect customers sharing a home, office or mobile network.
Max attempts per IP per hourRate-limits attempts from a single IP.Increase carefully; high limits can invite abuse.
Block disposable email domainsBlocks detected temporary email providers.May reject some legitimate addresses; test with your audience.
Additional blocked domainsOne domain per line, such as example.com.Enter domain names, not full email addresses.
Anonymize stored IP addressesStores a hashed/anonymized IP identifier for protection instead of a directly readable address.Keep this enabled unless you have a justified operational need.
Auto-delete leads afterAutomatically removes lead records after a chosen number of days.0 means keep records indefinitely.
Privacy responsibility: the plugin stores email and optional name, prize/coupon information, timestamp and IP-related abuse-prevention data. Your store is responsible for providing appropriate notice, lawful basis/consent, retention periods and handling access/deletion requests applicable to your jurisdiction.
10 · Coupon rules

Coupons

Coupon settings apply to automatically generated WooCommerce coupons. Existing WooCommerce coupons continue to use their own configured rules, while custom plain-text codes are not automatically created as WooCommerce coupons.

SettingPurpose
Code prefixText placed before the random part of generated coupon codes, e.g. WHEEL-.
Random part lengthLength of the generated random code segment (4–20 characters).
Coupon validityNumber of days before an automatically generated coupon expires; 0 means no expiry.
Minimum spendMinimum cart spend required; 0 means no minimum.
Usage limit per couponMaximum uses per coupon; 0 means unlimited.
Restrict to winner emailRestricts coupon usage to the email collected from the winner.
Individual use onlyPrevents the coupon from being combined with other coupons when WooCommerce applies that rule.

Further restrictions can be set on the coupon itself in WooCommerce, such as product/category eligibility or sale-item rules, depending on the selected prize and your WooCommerce configuration. Always test coupon behavior with a test account and representative cart.

11 · Notifications

Emails

The Emails tab configures the winner email and administrator notification. Confirm your WordPress email delivery setup before relying on transactional messages.

Email typeWhat to configure
Winner emailEnable/disable the message and edit its subject/body. The settings description lists placeholders such as {coupon}, {prize}, {expiry}, {site_name} and {name}.
Admin notificationConfigure whether an administrator receives a notification about new entries/wins and the notification recipient/content where exposed by the tab.
Email delivery depends on your server’s mail configuration. If messages are not received, check spam/junk folders and test WordPress email delivery with a properly configured SMTP service. The plugin cannot guarantee delivery to every mailbox.
12 · Lead management

Leads

The Leads tab lists records captured by the wheel. Use the search field to find entries, review the associated prize/coupon and export records when the export control is available.

  • Search leads using the provided search control.
  • Review the email, optional name, prize, coupon code and entry date where shown.
  • Use CSV export to work with the data in a spreadsheet.
  • Delete individual records or clear all records only after checking the selection carefully; deletion is permanent.
Data handling: limit access to trusted administrators, avoid exporting more data than necessary, store exports securely and delete them when no longer needed. Deleting a lead record does not necessarily delete a separately created WooCommerce coupon.
13 · Maintenance

Tools

ToolHow to use it safely
Export settingsSave a copy of the plugin configuration before major edits or moving the setup.
Import settingsImports a settings file and replaces the current settings. Review the file first and keep a backup of the existing configuration.
Reset settingsReturns plugin settings to defaults. Treat this as destructive to your configuration; export first.
Custom CSSUse only if the field is present in your installed version. Add scoped CSS carefully and test responsive layouts.
Maintenance optionsReview any cleanup or data controls before applying them.

The Tools tab’s exact controls may vary if the plugin is updated after version 1.0.10. Use the labels visible in your installed version as the final reference.

14 · Manual launcher

Shortcode: place a spin button anywhere

The plugin registers this shortcode to display a button that can open the wheel:

[ideaplcrksp134970_button text="Spin now"]

To add it, edit a WordPress page or post and insert a Shortcode block, then paste the shortcode. Replace Spin now with your preferred button label. The popup trigger should be set to Only when clicked if you want the wheel to open exclusively through a click-based launcher/button.

15 · Data lifecycle

Privacy, storage and uninstall behavior

  • Leads are stored in a plugin-managed database table. The plugin creates/updates the table when activated and upgrades its schema additively.
  • Daily cleanup is scheduled for retention settings; deactivation clears the plugin’s scheduled purge hook.
  • Updates are designed not to remove existing lead data.
  • Deactivation is not the same as deleting the plugin and does not, by itself, trigger the uninstall cleanup.
  • On uninstall, data is removed only if the plugin’s delete on uninstall setting is enabled. When enabled, the plugin removes its lead table and its settings/statistics options.
Before deleting the plugin: export any records and settings you need. If you intend to retain leads, make sure the uninstall data-removal option is disabled before deleting the plugin.
16 · Quick fixes

Troubleshooting

IssueCheck this first
Popup does not appearCheck Enable spin wheel, Preview mode, page targeting, include/exclude IDs, device switches, logged-in-user hiding and trigger choice. Use the admin Preview button.
Wheel appears on the wrong pagesReview selected page types and the include/exclude ID lists. Excluded IDs should be removed from the exclude list if they need to display.
Coupon is not created/appliedConfirm WooCommerce is active, the slice uses a WooCommerce coupon type, the amount is valid, and the selected existing coupon still exists. Custom code is plain text, not a generated coupon.
Email is not receivedCheck spam, email settings, sender reputation and SMTP delivery. Confirm winner email notifications are enabled.
Visitor cannot spin againReview One spin per email, One spin per IP and the hourly rate limit. Shared networks can be affected by IP restrictions.
Settings changes do not appearClick Save Changes, then clear page/cache-plugin/CDN caches and retest in a private browser window.
Popup design conflicts with themeTemporarily test without optimization/minification and custom CSS. Check mobile width, font contrast and overlay settings.
17 · Frequently asked questions

FAQ

Can I use a prize without WooCommerce?

Plain custom codes and no-prize outcomes do not create a WooCommerce coupon, but generated and existing WooCommerce coupon types require WooCommerce.

Does a higher weight guarantee a win?

No. Weight is relative to other enabled slices. It influences the chance of selection but does not guarantee a specific result.

Can I test before visitors see it?

Yes. Enable Preview mode (admins only) and use the Preview button. Disable preview-only behavior when you are ready for public display.

What happens if I deactivate the plugin?

The plugin’s scheduled daily purge hook is cleared. Deactivation does not itself run the uninstall cleanup.

Will uninstall delete leads?

Only if the delete-on-uninstall option is enabled. Export records first if you need to keep a copy.

Why is my custom code not applied to the cart?

Custom code is stored as plain text and is not automatically created as a WooCommerce coupon. Use a generated coupon or existing WooCommerce coupon if you need native WooCommerce discount behavior.