Smart Stock Notifications

Smart Stock Notifications for WooCommerce

Smart Stock Notifications helps WooCommerce stores recover lost sales when products go out of stock, capture demand from price-sensitive shoppers, and manage those opportunities with practical storefront and admin tools.

In 1.3.x, the plugin supports:

  • Back in Stock notifications
  • Price Drop alerts
  • optional target prices for Price Drop requests
  • Recovery Offers for eligible Price Drop subscribers
  • Product Communications Workspace for subscriber update emails
  • customer self-service notification management
  • product-level notification behavior overrides
  • presentation settings with live preview
  • CSV export, request logs, and bulk admin workflows

Installation And Setup

↑ Back to top

1. Requirements

↑ Back to top

Before installing Smart Stock Notifications, make sure your store meets these requirements:

  • WordPress 5.6 or later
  • WooCommerce 4.0 or later
  • PHP 7.4 or later

Smart Stock Notifications 1.3.2 is tested up to:

  • WordPress 6.9
  • WooCommerce 10.7

2. Install and activate the plugin

↑ Back to top

Install Smart Stock Notifications the same way you install other WooCommerce extensions:

  • make sure WooCommerce is already installed and active
  • upload the plugin files to your site
  • activate the plugin from the WordPress admin

3. Find the plugin settings

↑ Back to top

Go to:

  • WooCommerce > Settings > Stock Notifications

From there, you can configure:

  • General
  • Presentation
  • Email Templates
  • Recovery Offers
  • Placeholders
  • reCAPTCHA

4. Recommended first-run checklist

↑ Back to top

After activation, we recommend this order:

  1. Review the General settings, including how Back in Stock and Price Drop forms should appear on product pages.
  2. Configure your email templates.
  3. Review placeholders and reCAPTCHA settings if needed.
  4. Test the experience on a product page.

5. Important note about automatic form placement

↑ Back to top

Automatic form placement depends on whether your theme or page builder preserves the supported WooCommerce product-page hooks.

If your theme or builder supports those hooks, Smart Stock Notifications can automatically display signup forms on eligible product pages based on your General settings.

If your theme or builder does not preserve those hooks, the signup form may not appear automatically even when automatic placement is enabled.

In that case, you can place the form manually using the plugin shortcode or block. See the Storefront Usage and Page Builders sections later in this documentation for manual placement options and builder-specific guidance.

General Settings

↑ Back to top

The General tab controls the global default behavior for Smart Stock Notifications, including whether the plugin is active, how Back in Stock and Price Drop forms are made available on product pages, and how the plugin handles request expiration, stock checks, and log retention.

Go to:

  • WooCommerce > Settings > Stock Notifications > General

1. Enable Plugin

↑ Back to top

Use Enable Plugin to turn Smart Stock Notifications on or off globally.

When enabled:

  • the plugin settings remain active
  • supported storefront forms can be displayed based on your other settings
  • notification workflows, logging, and admin tools remain available

When disabled:

  • the pluginโ€™s notification functionality is turned off
  • storefront signup behavior should no longer run as normal
  • admin configuration remains available so you can re-enable the plugin later

2. Back-in-Stock Behavior

↑ Back to top

Back-in-Stock Behavior controls how Back in Stock signup forms are made available.

Options:

  • Disabled
  • Enabled (Shortcode only)
  • Enabled โ€“ Show Form Automatically

What each option means:

  • Disabled
  • Back in Stock signup is turned off.
  • Customers will not be able to subscribe for Back in Stock notifications unless you change this setting later.
  • Enabled (Shortcode only)
  • Back in Stock signup remains available, but the plugin will not automatically inject the form into product pages.
  • Use this when you want full control over placement through a shortcode, block, theme template, or page builder.
  • Enabled โ€“ Show Form Automatically
  • The plugin can automatically display the Back in Stock signup form on eligible product pages.
  • This is the most convenient option when your theme preserves the supported WooCommerce product-page hooks.

Important note:

  • this setting defines the global default Back in Stock behavior for your store
  • it can still be overridden at the product level for specific products
  • see the How Global Defaults and Product-Level Overrides Work Together section below

3. Price-Drop Behavior

↑ Back to top

Price-Drop Behavior controls how Price Drop signup forms are made available.

Options:

  • Disabled
  • Enabled (Shortcode only)
  • Enabled โ€“ Show Form Automatically

What each option means:

  • Disabled
  • Price Drop signup is turned off.
  • Customers will not be able to subscribe for Price Drop alerts.
  • Enabled (Shortcode only)
  • Price Drop signup is available, but only where you manually place the form.
  • Use this when you want to control exactly where Price Drop signup appears.
  • Enabled โ€“ Show Form Automatically
  • The plugin can automatically display the Price Drop form on eligible product pages.
  • This is useful when you want to capture price-sensitive demand without manually placing the form everywhere.

By default:

  • Back in Stock is set to automatic display
  • Price Drop is set to disabled

That default setup makes it easier to start with the most common Back in Stock workflow first, then enable Price Drop when you are ready.

Important note:

  • this setting defines the global default Price Drop behavior for your store
  • it can still be overridden at the product level for specific products
  • see the How Global Defaults and Product-Level Overrides Work Together section below

4. Show Currency On Target Price Field

↑ Back to top

Show Currency On Target Price Field controls whether the target-price field includes the store currency symbol and formatting hint.

When enabled:

  • shoppers can more easily understand what kind of amount to enter
  • the target-price field feels clearer and more explicit
  • this is usually the better choice for most stores

When disabled:

  • the target-price field is visually simpler
  • but some shoppers may have less context about formatting expectations

This setting only affects the Price Drop target-price experience.

5. Validate Target Price Against Current Price

↑ Back to top

Validate Target Price Against Current Price controls whether a shopperโ€™s target price must be less than or equal to the productโ€™s current price.

When enabled:

  • shoppers cannot submit a target price that is above the current product price
  • this helps keep requests logically aligned with โ€œnotify me when the price dropsโ€

When disabled:

  • shoppers can enter any target price
  • this gives more flexibility, but may allow requests that are less meaningful in practice

For most stores, enabling validation creates a cleaner and more intentional Price Drop workflow.

6. Enable Auto Expiration

↑ Back to top

Enable Auto Expiration controls whether newly created notification requests automatically receive an expiration date.

When enabled:

  • new requests are assigned an expiration date automatically
  • this helps prevent old requests from staying active forever unless you want them to

When disabled:

  • requests are not automatically assigned an expiration timeline through this setting
  • you take a more manual approach to long-term request lifecycle management

This setting is especially useful for stores that want cleaner lists and less stale subscriber demand over time.

7. Auto Expiration Period (Days)

↑ Back to top

Auto Expiration Period (Days) controls how long newly created notification requests remain active before expiring automatically.

Default:

  • 365 days

Behavior:

  • enter a number greater than 0 to expire requests after that many days
  • enter 0 to keep requests indefinitely

Practical implications:

  • a shorter period keeps your notification lists fresher
  • a longer period keeps more historical demand active for follow-up
  • 0 is best only if you intentionally want no automatic expiration cleanup

This setting works together with Enable Auto Expiration.

8. Stock Check Frequency

↑ Back to top

Stock Check Frequency controls how often the plugin checks product stock.

Options:

  • Hourly
  • Twice Daily
  • Daily

What this affects:

  • how quickly eligible Back in Stock requests can be detected for follow-up
  • how often your store runs the stock-check process

Tradeoffs:

  • Hourly
  • more responsive
  • better if stock changes frequently
  • potentially more operational activity
  • Twice Daily
  • a middle ground between responsiveness and lower frequency
  • Daily
  • lighter-touch
  • fine for stores where stock changes less often
  • less responsive than the other options

Choose the frequency that best matches how often your inventory changes and how quickly you want to react.

9. Log Retention Period

↑ Back to top

Log Retention Period controls how long plugin logs are kept.

Options:

  • 30 days
  • 90 days
  • 180 days
  • Indefinite

What this affects:

  • how long activity history remains available for review
  • how much operational history you keep for troubleshooting and auditing

Practical guidance:

  • 30 days
  • useful if you want lighter retention
  • 90 days
  • a balanced default for most stores
  • 180 days
  • helpful when you want a longer operational history
  • Indefinite
  • best only if you intentionally want to retain logs long term

This setting is mainly operational. It does not change storefront behavior directly, but it does affect how much historical activity remains available in the admin experience.

10. How Global Defaults and Product-Level Overrides Work Together

↑ Back to top

The General settings act as your store-wide defaults.

That means they control how Smart Stock Notifications behaves across the catalog unless a product-level override changes that behavior for a specific product.

For example, product-level controls can be used to:

  • override whether a notification type is available on a specific product
  • override whether a form is automatically shown for that product
  • make exceptions without changing your global store-wide setup

This is useful when most products should follow one default behavior, but a few products need special handling.

For example:

  • your store may use automatic Back in Stock placement globally, but disable it on a specific product
  • your store may keep Price Drop disabled globally, but enable it selectively on certain products through product-level settings

In other words, the General tab defines the default behavior, while product-level controls let you make targeted exceptions where needed.

Storefront Usage

↑ Back to top

1. Overview

↑ Back to top

Smart Stock Notifications supports both automatic and manual storefront placement.

Depending on your settings, shoppers can see:

  • Back in Stock signup
  • Price Drop signup
  • both notification types together in one storefront experience

The exact storefront experience depends on your General settings, product-level overrides, theme or builder compatibility, and any presentation settings you apply.

2. Automatic Placement

↑ Back to top

Automatic placement means Smart Stock Notifications inserts the signup form for you on eligible WooCommerce product pages.

This option is controlled separately for each notification type in the General settings:

  • Back-in-Stock Behavior
  • Price-Drop Behavior

To use automatic placement, set the relevant notification type to:

  • Enabled โ€“ Show Form Automatically

Automatic placement is the simplest option when:

  • your theme preserves the supported WooCommerce product-page hooks
  • you want the plugin to handle storefront placement for you
  • you do not need custom placement inside a specific builder or layout system

Important note:

  • automatic placement depends on your theme or page builder preserving the supported WooCommerce product-page hooks
  • if those hooks are not preserved, the form may not appear automatically even when automatic placement is enabled
  • in that case, use manual placement instead

3. Manual Placement with the Shortcode

↑ Back to top

Manual placement with the shortcode gives you more control over where the signup form appears.

Use the shortcode: [smart_stock_notification_form]

This is useful when:

  • your theme or page builder does not preserve the supported WooCommerce hooks
  • you want to place the form in a specific location
  • you want to control whether Back in Stock, Price Drop, or both are shown
  • you want to override the saved presentation settings for a particular placement

You can use the shortcode in places such as:

  • product templates
  • page builder shortcode widgets or code blocks
  • custom content areas that render shortcodes

4. Shortcode Options

↑ Back to top

The shortcode supports these options:

  • type
  • show_bis
  • show_pd
  • variant
  • layout
  • class

What they do:

  • type
  • chooses a specific notification type shortcut such as Back in Stock only or Price Drop only
  • show_bis
  • controls whether Back in Stock is shown
  • show_pd
  • controls whether Price Drop is shown
  • variant
  • overrides the saved presentation variant for this specific form instance
  • layout
  • overrides the saved layout for this specific form instance
  • class
  • adds your own custom CSS class to the rendered form wrapper

These options make it possible to control both behavior and presentation at the placement level.

5. Shortcode Examples

↑ Back to top

Basic form:

  • [smart_stock_notification_form]

Price Drop only:

  • [smart_stock_notification_form type="pd"]

Back in Stock only with presentation overrides:

  • [smart_stock_notification_form type="bis" variant="card" layout="compact"]

Back in Stock only using explicit toggles:

  • [smart_stock_notification_form show_bis="yes" show_pd="no"]

Combined form with a custom CSS class:

  • [smart_stock_notification_form show_bis="yes" show_pd="yes" class="my-custom-signup-form"]

Practical note:

  • if no explicit type or show/hide toggles are passed, the plugin uses the available notification types based on your settings and context

6. Manual Placement with the Block

↑ Back to top

Smart Stock Notifications also provides a server-rendered block:

  • smart-stock-notifications/signup-form

This is useful when you prefer block-based editing instead of shortcodes.

The block supports these options:

  • showBis
  • showPd
  • variant
  • layout

Use the block when:

  • you are editing content in the block editor
  • you want manual placement without working directly with shortcode syntax
  • you want to control which notification types are shown and how the form is presented

7. What Shoppers See on Product Pages

↑ Back to top

What shoppers see depends on product state, enabled notification types, placement method, and whether the shopper is a guest or logged-in customer.

Back in Stock:

  • Back in Stock signup appears on out-of-stock products where Back in Stock notifications are enabled
  • shoppers can subscribe to be notified when the product comes back in stock

Price Drop:

  • Price Drop signup appears on products where Price Drop notification signup is enabled
  • shoppers can subscribe for Price Drop alerts
  • they can optionally set a target price when that experience is available

Guest and logged-in behavior:

  • guests can subscribe without creating an account
  • logged-in customers can subscribe as well
  • logged-in customers can later manage notifications from the My Account > My Notifications area

Signed-up state:

  • when supported by the current storefront context, shoppers can see that they are already subscribed
  • this helps avoid duplicate signups and makes the form state clearer

Customers may also see:

  • a combined form when both notification types are available together
  • a target-price input when Price Drop signup is available
  • an active or already-subscribed state depending on the product and notification type

8. Combined Storefront Experience

↑ Back to top

When both notification types are available, Smart Stock Notifications can support them together in one storefront experience.

This allows shoppers to choose between:

  • subscribing for Back in Stock notifications
  • subscribing for Price Drop alerts
  • subscribing for both, depending on the form configuration and product context

This combined experience is useful when you want to capture both:

  • availability-driven demand
  • price-sensitive demand

from the same product page.

9. When to Use Automatic vs Manual Placement

↑ Back to top

Automatic placement is usually best when:

  • your theme supports the required WooCommerce product-page hooks
  • you want the plugin to handle placement automatically
  • you want the simplest setup

Manual placement is usually best when:

  • your theme or page builder does not preserve the required hooks
  • you want to place the form in a very specific location
  • you want placement controlled inside a custom product template
  • you want one placement to behave or look differently from the global defaults

Even when automatic placement is available, some stores still prefer manual placement for tighter design and layout control.

10. What Storefront Behavior Depends On

↑ Back to top

The storefront experience is shaped by several layers working together.

General settings determine:

  • whether Back in Stock is enabled, disabled, shortcode-only, or automatically shown
  • whether Price Drop is enabled, disabled, shortcode-only, or automatically shown

Product-level overrides can change:

  • whether a notification type is available for a specific product
  • whether that product follows the global default behavior

Theme or builder compatibility affects:

  • whether automatic placement works as expected

Presentation settings affect:

  • how the form looks
  • which variant and layout are used by default

Shortcode or block placement can further override:

  • which notification types are shown
  • how the form is visually presented in a specific location

In practice, that means storefront behavior is not controlled by one setting alone. It comes from the interaction between your global defaults, product-level exceptions, placement method, and presentation choices.

Page Builders

↑ Back to top

1. Overview

↑ Back to top

Some themes and page builders do not preserve the WooCommerce product-page hooks that Smart Stock Notifications relies on for automatic placement.

When that happens, the signup form may not appear automatically even when automatic placement is enabled in the General settings.

In those cases, the solution is usually to place the form manually using the shortcode or block.

This section explains how to do that in common builder workflows.

2. Before You Start

↑ Back to top

Before adding the form manually:

  • check whether automatic placement is already working on your product page
  • decide whether you want to keep automatic placement or switch to manual placement for that experience
  • be aware that using both at the same time can create duplicate forms

If automatic placement is already working and you add the shortcode manually in the same area, you may end up with two instances of the form on the product page.

3. Elementor (Theme Builder)

↑ Back to top

If you are using Elementor Theme Builder for WooCommerce product templates:

  1. Go to Templates > Theme Builder > Single Product.
  2. Create or edit the product template you want to use.
  3. Add a Shortcode widget where you want the signup form to appear.
  4. Paste: [smart_stock_notification_form]
  5. Update the template and view a real product page on the storefront.

After placement, confirm that:

  • the form appears in the expected location
  • the correct notification types are shown
  • you do not have a duplicate auto-injected form in the same area

If duplicates appear, keep the shortcode instance or the auto-injected instance, but not both.

4. Avada (Layout Builder)

↑ Back to top

If you are using Avada layouts for WooCommerce product pages:

  1. Go to Avada > Layouts > Single Product.
  2. Create or edit the layout you want to use.
  3. In the content area, add a Code Block or Text Block.
  4. Paste: [smart_stock_notification_form]
  5. Save the layout.
  6. Clear any page or builder cache if needed.
  7. View a real product page on the storefront.

After placement, confirm that:

  • the form appears in the right location
  • the correct notification types are shown
  • you do not have a duplicate auto-injected form

If duplicates appear, leave only one instance active.

5. General Builder Guidance

↑ Back to top

Even if your builder is not listed above, the same general approach usually applies.

Look for a widget, block, or content area that can render shortcode output, such as:

  • a shortcode widget
  • a text block
  • a code block
  • a custom content element that supports shortcodes

Then:

  1. place the shortcode where you want the form to appear
  2. save the template or layout
  3. test the result on a real product page

Important note:

  • builder previews do not always reflect the exact storefront behavior
  • always verify the final result on an actual product page

6. Avoiding Duplicate Forms

↑ Back to top

Duplicate forms usually happen when:

  • automatic placement is enabled
  • and the shortcode or block is also placed manually on the same product page

To avoid this:

  • use automatic placement when you want the plugin to handle placement for you
  • use manual placement when you want full control over the form location
  • avoid using both approaches for the same notification form in the same place

If duplicates appear:

  • remove the manually placed form
  • or change the relevant notification type to shortcode-only/manual placement in the General settings
  • or use product-level overrides if that is the better fit for the product

7. When to Use a Block Instead

↑ Back to top

If you are working in the block editor, the block may be more convenient than the shortcode.

Smart Stock Notifications provides a server-rendered block:

  • smart-stock-notifications/signup-form

Use the block when:

  • you are editing content in the block editor
  • you want a more visual placement workflow
  • you do not need shortcode syntax directly

Use the shortcode when:

  • your page builder expects shortcode-based content
  • you are working in a builder widget or template area that renders shortcodes more reliably
  • you want a familiar builder-friendly placement method

8. Troubleshooting Builder Placement

↑ Back to top

If the shortcode appears as plain text:

  • make sure you placed it in a widget or block that actually renders shortcodes
  • try a shortcode-specific widget or a supported content block instead of a plain text field

If the form does not render:

  • confirm the relevant notification type is enabled in the General settings
  • confirm the current product and storefront context allow that notification type
  • confirm the builder template is actually assigned to the product page you are testing

If duplicate forms appear:

  • remove one instance
  • or switch the relevant notification type to manual placement only

If the form appears in the wrong location:

  • move the shortcode or block to a different widget, block, or template area
  • test again on a real product page until the placement is correct

Email Templates

↑ Back to top

1. Overview

↑ Back to top

The Email Templates section controls the notification emails sent by Smart Stock Notifications.

Go to:

  • WooCommerce > Settings > Stock Notifications > Email Templates

These templates are important because notification emails are often the moment when captured demand turns into action.

Stronger email branding and messaging can help:

  • improve trust in the message
  • bring more shoppers back to the store
  • improve clicks and conversions
  • make Recovery Offers feel intentional instead of generic

2. Why Email Templates Matter

↑ Back to top

Notification emails do more than confirm that something happened.

They also shape how customers respond.

Weak emails can:

  • reduce opens
  • reduce clicks
  • feel generic or untrustworthy
  • make the return action feel less compelling

Stronger emails can:

  • clearly explain what changed
  • reinforce brand consistency
  • create the right level of urgency
  • make the shopperโ€™s next step obvious

For many stores, better notification emails can directly improve return visits and recovered sales.

3. Available Email Templates

↑ Back to top

Smart Stock Notifications includes separate templates for:

  • Back in Stock email
  • Price Drop email
  • Recovery Offer email

Each template supports a different customer journey.

Back in Stock email:

  • used when a shopper asked to be notified after a product was out of stock
  • sent when the product becomes available again

Price Drop email:

  • used when a shopper subscribed for a price-change alert
  • sent when the price drops

Recovery Offer email:

  • used when a qualifying Price Drop request receives a targeted coupon offer
  • sent as part of the Recovery Offer workflow

4. What You Can Customize

↑ Back to top

For each email template, you can customize:

  • subject
  • message body
  • footer

These elements shape how the email feels to the customer.

The subject influences:

  • whether the email gets opened
  • whether the shopper immediately understands why they received it

The message body influences:

  • clarity
  • trust
  • motivation to return to the product

The footer helps:

  • reinforce branding
  • keep messaging consistent
  • give the email a more complete and professional feel

5. Editing the Back in Stock Email

↑ Back to top

The Back in Stock email is sent when a previously unavailable product becomes available again.

This email should clearly communicate:

  • that the product is back in stock
  • which product the message refers to
  • that the shopper can return and buy now

Recommended messaging focus:

  • availability
  • clarity
  • direct return-to-product action

A strong Back in Stock email should feel timely and straightforward. The shopper already showed purchase intent, so the message should make the next step easy.

6. Editing the Price Drop Email

↑ Back to top

The Price Drop email is sent when the product price drops for a shopper who subscribed for Price Drop alerts.

This email should clearly communicate:

  • that the price has dropped
  • which product the change applies to
  • why this is a good time to come back

Recommended messaging focus:

  • price change
  • timing
  • reason to come back now

A strong Price Drop email should make the value obvious without overcomplicating the message.

7. Editing the Recovery Offer Email

↑ Back to top

The Recovery Offer email is sent when a qualifying Price Drop request receives a generated coupon offer.

This email is different from the other notification emails because it is not only informational. It is also an offer-driven conversion email.

This email should clearly communicate:

  • that a specific offer is available
  • what the shopper is receiving
  • how the coupon should be used
  • whether the offer expires

Recommended messaging focus:

  • exclusivity
  • offer value
  • coupon clarity
  • expiration urgency

A strong Recovery Offer email should feel intentional and high-value, not like a vague or generic discount blast.

8. Using Placeholders in Email Templates

↑ Back to top

Email templates support placeholders so you can personalize messages with dynamic data.

Placeholders can help insert things like:

  • product details
  • store details
  • offer-specific information
  • customer- or notification-related context

This makes the emails feel more relevant and less generic.

Placeholders are covered in more detail later in the Placeholders section.

9. Previewing and Reviewing Email Content

↑ Back to top

Before finalizing a template, review how it reads and how the message will appear.

Previewing is useful because it helps you check:

  • clarity
  • tone
  • consistency
  • branding
  • whether the important action is obvious

A good preview habit can help you catch weak subject lines, cluttered body copy, or unclear offer messaging before those emails reach customers.

10. Recommendations for Better Converting Emails

↑ Back to top

To write stronger notification emails:

  • keep the message clear and specific
  • make the shopperโ€™s next step obvious
  • match the tone to your brand
  • avoid unnecessary friction or clutter
  • use urgency carefully where appropriate
  • make Recovery Offers feel intentional, not generic

Practical recommendations:

  • use a subject line that explains the value of opening the email
  • mention the product clearly
  • keep body copy focused on the shopperโ€™s reason to return
  • avoid overloading the email with too much text
  • make timing and benefit easy to understand
  • use stronger urgency only when it is real, especially for Recovery Offers with expiration limits

In general:

  • Back in Stock emails should feel direct and timely
  • Price Drop emails should make the changed value obvious
  • Recovery Offer emails should make the offer feel clear, useful, and worth acting on now

11. How Email Templates Work with the Rest of the Plugin

↑ Back to top

Email templates work together with the rest of Smart Stock Notifications.

Whether an email is used depends on:

  • the notification type being enabled
  • the subscriber and product context
  • the workflow that triggered the email
  • placeholders and related settings that affect the final output

For example:

  • Back in Stock emails depend on Back in Stock workflows being active
  • Price Drop emails depend on Price Drop signup and price-change workflows
  • Recovery Offer emails depend on Recovery Offer eligibility and offer-generation workflow

That means strong templates are important, but they still operate within the broader settings and notification logic of the plugin.

Placeholders

↑ Back to top

1. Overview

↑ Back to top

Placeholders let you insert dynamic values into your notification emails.

Instead of writing static text only, you can use placeholders that are replaced with real values when the email is generated.

This helps turn a generic template into a more useful and personalized message.

Placeholders are mainly used in:

  • email subjects
  • email bodies
  • email footers

2. How Placeholders Work

↑ Back to top

A placeholder is a token such as {product_name} or {store_name}.

When Smart Stock Notifications generates an email, it replaces that token with the real value for the current notification context.

For example:

  • {product_name} becomes the actual product name
  • {store_name} becomes your store name
  • {support_email} becomes your support email address

This makes it easier to build templates that stay reusable while still feeling specific and relevant.

3. Built-In Placeholders

↑ Back to top

Built-in placeholders are the placeholders the plugin already knows how to generate for you.

These are the easiest placeholders to start with because they do not require any manual setup.

Important note:

  • some placeholders are available across all notification types
  • some are only useful when the relevant data exists
  • some are especially relevant to Price Drop or Recovery Offer workflows
  • if a placeholder has no meaningful value in the current context, it may render empty or not be useful in that template

Below is the full built-in placeholder set currently supported by the plugin.

#### Store and support placeholders

  • {store_name}
  • your store name
  • {store_name_link}
  • your store name as a clickable link to the store homepage
  • {store_url}
  • your store homepage URL
  • {store_url_link}
  • your store homepage URL as a clickable link
  • {support_email}
  • your support or admin email address
  • {support_email_link}
  • your support or admin email address as a clickable mailto link

#### Core notification and request placeholders

  • {id}
  • the internal notification request ID
  • {uuid}
  • the notification request UUID
  • {type}
  • the notification type
  • {status}
  • the request status
  • {email}
  • the email address associated with the request
  • {user_id}
  • the linked WordPress user ID, when available
  • {created_at}
  • when the request was created
  • {sent_at}
  • when the notification was sent, when applicable
  • {expired_at}
  • when the request expired, when applicable
  • {auto_expires_at}
  • the automatic expiration date, when applicable
  • {meta_data}
  • raw metadata string when available

#### Product placeholders

  • {product_id}
  • the WooCommerce product ID
  • {product_name}
  • the product name
  • {product_name_link}
  • the product name as a clickable link to the product page
  • {product_url}
  • the product page URL
  • {product_url_link}
  • the product page URL as a clickable link

#### User and customer placeholders

  • {user_email}
  • the linked user email, when available
  • {first_name}
  • the customerโ€™s first name, when available
  • {last_name}
  • the customerโ€™s last name, when available
  • {billing_first_name}
  • the billing first name, when available
  • {billing_last_name}
  • the billing last name, when available
  • {user_name}
  • the resolved display name built from available customer name fields
  • {user_name_link}
  • the resolved display name as a clickable mailto link
  • {user_email_link}
  • the user email as a clickable mailto link
  • {user_name_and_email_link}
  • the resolved customer name and email as a clickable mailto link

#### General pricing placeholders

  • {currency}
  • the currency code stored with the notification, when available
  • {current_price}
  • the current product price
  • this is especially useful in Price Drop and Recovery Offer emails
  • {formatted_current_price}
  • a formatted version of the current product price
  • {display_current_price}
  • a display-oriented version of the current product price
  • {sale_price}
  • the sale price, when available
  • {sale_price_formatted}
  • a formatted version of the sale price, when available

#### Price Drop placeholders

  • {price_at_signup}
  • the product price at the time the shopper subscribed
  • {formatted_price_at_signup}
  • a formatted version of the signup-time price
  • {display_price_at_signup}
  • a display-oriented version of the signup-time price
  • {target_price}
  • the shopperโ€™s target price, when available
  • {formatted_target_price}
  • a formatted version of the target price
  • {display_target_price}
  • a display-oriented version of the target price
  • {price_drop_percentage}
  • the percentage drop from the original signup price to the current price, when applicable

#### Recovery Offer placeholders

  • {offer_coupon_code}
  • the generated Recovery Offer coupon code
  • {offer_price}
  • the offer price, when available
  • {offer_discount_amount}
  • the discount amount represented by the Recovery Offer, when available
  • {offer_expiry_date}
  • the Recovery Offer expiration date, when available
  • {offer_usage_limit}
  • the usage limit for the Recovery Offer coupon, when available
  • {offer_coupon_edit_url}
  • the admin edit URL for the generated coupon, when available

Practical note:

  • some placeholders, especially price- and offer-related ones, only make sense in specific notification contexts
  • for example, Recovery Offer placeholders are most relevant in Recovery Offer emails, while {price_drop_percentage} is relevant to Price Drop emails

4. Custom Placeholders

↑ Back to top

Custom placeholders let you define your own reusable values.

Go to:

  • WooCommerce > Settings > Stock Notifications > Placeholders

There, you can add your own placeholder key and value pairs.

This is useful for repeating store-specific content such as:

  • a phone number
  • a special support line
  • a branded sign-off
  • a store policy reminder
  • a promotional message you want to reuse

For example, you might define a custom placeholder for:

  • {our_phone_number}
  • {customer_care_hours}
  • {returns_policy_summary}

Important note:

  • if you enter a custom placeholder key without curly braces, the plugin normalizes it for you
  • in practice, it is still best to think of custom placeholders in the {placeholder_name} format

Custom placeholders can also override these shared values if you intentionally define them:

  • {support_email}
  • {store_name}
  • {store_url}

That can be useful, but it should be used carefully so email output stays clear and intentional.

5. Where You Can Use Placeholders

↑ Back to top

You can use placeholders in:

  • subject
  • message body
  • footer

How you use them matters.

Subjects:

  • best for high-value, clear placeholders such as product or offer context
  • avoid overloading the subject with too many variables

Message body:

  • best place for most placeholders
  • gives you room to explain the product, price, offer, or next step

Footer:

  • useful for store identity, support information, and repeated contact details

In general, placeholders are most effective when they make the email more specific and useful without making it harder to read.

6. Using Placeholders Effectively

↑ Back to top

Placeholders work best when they feel natural inside the sentence.

Good practice:

  • use placeholders where they add clarity
  • make sure the surrounding sentence still reads naturally
  • use pricing placeholders where actual pricing context matters
  • use support and store placeholders where branding or trust matters

Avoid:

  • stuffing too many placeholders into one sentence
  • using placeholders that add noise without helping the customer
  • relying on technical or internal-looking placeholders in customer-facing copy

A good email should still read like a human message, not like a variable dump.

7. Common Placeholder Use Cases

↑ Back to top

Common uses include:

  • naming the product with {product_name} or {product_name_link}
  • linking the shopper back to the product page with {product_url} or {product_url_link}
  • showing the store identity with {store_name} or {store_name_link}
  • showing support contact information with {support_email} or {support_email_link}
  • highlighting the signup-time price or current price with {price_at_signup} and {current_price}
  • reinforcing a Recovery Offer with {offer_coupon_code}, {offer_price}, and {offer_expiry_date}

These are usually the highest-value placeholders from a customer-facing point of view.

8. Previewing Placeholder Output

↑ Back to top

Previewing matters because placeholders can look fine as tokens but awkward once expanded into real content.

When reviewing an email preview, check that:

  • the placeholder values appear correctly
  • the sentence still reads naturally
  • links render the way you expect
  • pricing values look correct
  • offer details feel clear and complete

This is especially important for:

  • Price Drop emails
  • Recovery Offer emails
  • any template using several placeholders in the same paragraph

9. Troubleshooting Placeholder Issues

↑ Back to top

If a placeholder does not render as expected:

  • confirm you typed the placeholder correctly
  • confirm the placeholder actually exists
  • confirm the current notification type provides the needed data
  • preview the email again with the relevant template

If a custom placeholder seems missing:

  • check that it was saved in the Placeholders settings
  • check that the key is written in the expected format
  • check for spelling differences between the saved key and the template

If the output looks awkward:

  • rewrite the sentence around the placeholder
  • choose a more appropriate placeholder
  • preview again until the message reads naturally

10. How Placeholders Work with the Rest of the Plugin

↑ Back to top

Placeholders work together with:

  • email templates
  • preview functionality
  • notification context
  • Recovery Offer workflows

That means the final output depends on more than the template alone.

For example:

  • a Price Drop email may use pricing placeholders such as {price_at_signup} and {current_price}
  • a Recovery Offer email may use placeholders such as {offer_coupon_code}, {offer_price}, and {offer_expiry_date}
  • a generic store footer may rely on {store_name} and {support_email_link}

In practice, placeholders are one of the main tools that help Smart Stock Notifications turn reusable email templates into more relevant customer-facing messages.

reCAPTCHA

↑ Back to top

1. Overview

↑ Back to top

The reCAPTCHA section controls spam protection for Smart Stock Notifications signup forms.

Go to:

  • WooCommerce > Settings > Stock Notifications > reCAPTCHA

This section helps you protect public-facing notification signup forms from bots and low-quality automated submissions.

2. Why reCAPTCHA Matters

↑ Back to top

Notification signup forms are often open to the public.

That makes them useful for customers, but it can also make them attractive to bots or spam submissions.

reCAPTCHA helps:

  • reduce bot-driven signups
  • keep your notification lists cleaner
  • improve the quality of captured demand
  • reduce admin noise caused by low-value or fake requests

Cleaner signup data usually leads to a more useful notification workflow overall.

3. When to Enable reCAPTCHA

↑ Back to top

reCAPTCHA is especially useful when:

  • your store allows guest signups
  • your product pages are publicly accessible
  • you want extra protection against automated submissions
  • you have seen suspicious or low-quality notification requests

Even if you are not currently seeing spam, enabling reCAPTCHA can still be a sensible preventative measure for stores with public-facing signup forms.

4. What You Need Before Setup

↑ Back to top

Before configuring reCAPTCHA, make sure you have:

  • a reCAPTCHA v3 site key
  • a reCAPTCHA v3 secret key
  • access to your Google reCAPTCHA configuration for the site

This pluginโ€™s current reCAPTCHA implementation is designed around reCAPTCHA v3.

5. How to Configure reCAPTCHA

↑ Back to top

In the reCAPTCHA settings, you can configure:

  • Enable
  • reCAPTCHA Site Key
  • reCAPTCHA Secret Key

Basic setup flow:

  1. enable reCAPTCHA
  2. enter your reCAPTCHA v3 site key
  3. enter your reCAPTCHA v3 secret key
  4. save the settings
  5. test the signup form on a real product page

Once configured correctly, reCAPTCHA protection will apply to supported storefront signup flows.

6. How reCAPTCHA Affects the Signup Experience

↑ Back to top

With reCAPTCHA v3, protection is usually handled in the background instead of interrupting the shopper with a visible checkbox challenge.

That means normal shoppers should usually experience:

  • little or no extra friction
  • a cleaner signup flow
  • background spam protection working without drawing attention

This makes reCAPTCHA v3 a good fit for notification signup forms, where too much friction could reduce legitimate subscriptions.

7. Guest and Logged-In Signup Considerations

↑ Back to top

reCAPTCHA is particularly valuable for guest-facing forms.

Why:

  • guests can subscribe without creating an account
  • public signup forms are more exposed to abuse than account-restricted actions
  • guest forms often benefit most from silent background protection

Logged-in customers can still benefit from cleaner protected flows too, but guest-facing signup is usually where reCAPTCHA provides the most practical value.

8. Practical Recommendations

↑ Back to top

For most stores, a good approach is:

  • enable reCAPTCHA if your forms are public-facing
  • test it after setup on a real product page
  • confirm that normal customer signup still works smoothly
  • confirm that the form remains usable across the storefront contexts you care about

It is also a good idea to treat reCAPTCHA as one part of overall storefront quality, not the only safeguard.

You still want:

  • clear placement
  • correct notification-type configuration
  • a smooth signup experience for real shoppers

9. Troubleshooting reCAPTCHA

↑ Back to top

If the form does not submit as expected:

  • confirm reCAPTCHA is enabled
  • confirm the site key is correct
  • confirm the secret key is correct
  • confirm you are using reCAPTCHA v3
  • test again on a real product page

If protection is enabled but you do not see anything obvious happening:

  • remember that reCAPTCHA v3 usually works in the background
  • a visible checkbox is not expected in the same way as older reCAPTCHA modes

If signup behavior still seems wrong after setup:

  • test on a real storefront product page instead of relying only on editor or builder preview
  • confirm the relevant notification type is enabled and the form itself is rendering correctly

10. How reCAPTCHA Works with the Rest of the Plugin

↑ Back to top

reCAPTCHA works alongside the normal storefront signup flows in Smart Stock Notifications.

It helps protect Back in Stock signup, Price Drop signup, and public-facing subscription activity generally.

It complements the rest of the plugin by helping keep notification signup demand cleaner and more trustworthy.

Admin Workflows

↑ Back to top

1. Overview

↑ Back to top

The admin side of Smart Stock Notifications helps you do more than store notification requests.

It helps you turn captured shopper intent into clearer operational and revenue decisions.

This is where store managers can:

  • see which out-of-stock products are attracting real demand
  • identify which requests may justify restocking attention
  • see where price-sensitive demand is building up
  • review which products may not be priced in line with what shoppers are ready to pay
  • manage follow-up activity more intentionally
  • use Recovery Offers to convert otherwise stalled purchase intent
  • reduce manual overhead while keeping notification workflows organized

In practice, this is where captured demand becomes actionable.

2. Notification Request Tables

↑ Back to top

The notification request tables are one of the most valuable operational surfaces in the plugin.

They do not just show a list of requests. They help make demand visible in ways that can support better decisions.

For Back in Stock requests, the tables help you see:

  • which out-of-stock products are drawing real shopper interest
  • where demand is accumulating while inventory is unavailable
  • which products may deserve higher restocking priority

For Price Drop requests, the tables help you see:

  • which products are attracting price-sensitive interest
  • where shoppers are waiting for better pricing before buying
  • where current pricing may not align with perceived value or willingness to pay

For Recovery Offers, the tables help you see:

  • which requests may be good candidates for targeted follow-up
  • where a coupon-based recovery action may help convert otherwise delayed demand

This makes the request tables useful not only for administration, but also for merchandising, pricing awareness, and revenue recovery.

3. Reviewing Request Details

↑ Back to top

Each request includes details that help you understand not just what the request is, but what kind of opportunity or follow-up decision it represents.

Depending on the request type, admins may be able to review:

  • subscriber email
  • linked user information when available
  • product name and product context
  • request status
  • created date
  • sent date
  • expiration-related timing
  • target price
  • current price
  • Recovery Offer state or related offer details

This context helps you answer questions like:

  • is this request still actionable?
  • is this a strong sign of unmet demand?
  • is the shopper waiting on stock, price, or both?
  • does this request justify a Recovery Offer or another follow-up action?

The more clearly you can interpret request context, the more effectively you can act on captured demand.

4. Filtering and Searching

↑ Back to top

Filtering and search help you reduce noise and focus on the requests that matter right now.

This is especially valuable when request volume grows, because raw lists become less useful unless you can narrow them to the right working set.

Filtering helps you focus on:

  • pending requests that may still need action
  • sent requests for confirmation or follow-up review
  • expired requests that may no longer be worth active attention
  • requests tied to a specific product
  • requests tied to a specific subscriber or email

Used well, filtering helps you move faster from โ€œdata existsโ€ to โ€œthis is the subset I need to act on now.โ€

5. Row-Level Actions

↑ Back to top

Row-level actions are useful when a specific request needs individual attention.

This is where you can make more deliberate decisions instead of applying the same action across a larger batch.

Depending on request type and context, row-level workflows can include actions such as:

  • reviewing the request more closely
  • updating status
  • sending a notification
  • force sending a notification
  • deleting a request
  • checking related logs
  • reviewing Recovery Offer information where applicable

These actions are especially useful when:

  • a request needs manual follow-up
  • an edge case needs correction
  • you want to inspect one opportunity carefully before acting

6. Bulk Actions

↑ Back to top

Bulk actions help you save time when many requests need the same treatment.

Supported bulk workflows include:

  • bulk delete
  • bulk send
  • bulk force send
  • bulk status updates where applicable

Bulk actions are valuable when:

  • multiple requests are ready for the same next step
  • you want to clear stale or unwanted requests efficiently
  • you want to process a larger demand queue without unnecessary repetition

This helps reduce manual overhead, especially for stores with higher volume.

At the same time, bulk actions should be used carefully when they affect customer-facing communication, since acting at scale can magnify mistakes if the wrong set is selected.

7. Logs and Activity History

↑ Back to top

Logs and activity history support operational accountability.

They help you understand what happened to a request before you act again.

This is useful for:

  • troubleshooting
  • auditing
  • confirming send activity
  • reviewing status changes
  • checking whether a request has already been handled
  • understanding how a Recovery Offer progressed

Logs are especially helpful when several admins, repeated actions, or follow-up workflows make the history less obvious from the current row state alone.

Good logging reduces guesswork and helps teams act with more confidence.

8. Exporting Request Data

↑ Back to top

Export lets you take captured demand outside the admin interface when you need broader analysis or coordination.

This is useful for exporting:

  • filtered requests
  • selected requests

Operational and business use cases include:

  • reporting
  • offline review
  • support investigation
  • internal coordination
  • comparing demand patterns across products
  • sharing captured interest data with merchandising or inventory decision-makers

Export is helpful when the value of the request data goes beyond one immediate admin action.

9. Product Communications Workspace

↑ Back to top

The Product Communications Workspace gives store managers a dedicated area for communicating with waiting subscribers about a specific product.

It extends the operational side of Smart Stock Notifications beyond request management alone. Instead of only waiting for the final stock or price trigger, store managers can proactively keep subscribers informed while demand is still active.

You can access it from:

  • WooCommerce > Notifications > Product Communications Workspace

From the workspace, you can:

  • review audience counts for Back-in-Stock and Price-Drop demand
  • save product communication context such as expected availability date and expected price
  • send product-level update emails to waiting subscribers
  • review update history
  • inspect recipient-level send results

This is especially useful when you want to keep shoppers informed even before the core trigger condition is met.

10. Product-Level Controls

↑ Back to top

Product-level controls help you make exceptions where they are needed without disrupting your store-wide defaults.

Inside the WooCommerce product editor, you can use product-level controls to:

  • review notification activity for a specific product
  • override global defaults for that product
  • control which notification types are available on that product
  • control whether the product follows the global storefront behavior or a product-specific exception

This is valuable when the store-wide default is broadly right, but not right for every product.

For example:

  • one product may need Back in Stock only
  • another may need Price Drop only
  • another may need a different storefront behavior because of merchandising strategy or product context

Product-level controls help keep your overall setup both consistent and flexible.

11. Customer Self-Service

↑ Back to top

Smart Stock Notifications adds a My Notifications area to the WooCommerce My Account experience.

Customers can use My Account > My Notifications to:

  • review active notifications
  • unsubscribe
  • update Price Drop target prices

This is valuable because it gives customers more control while reducing unnecessary support work for your team.

Instead of needing admin help for every change, customers can manage common notification actions themselves.

That helps:

  • reduce support overhead
  • keep request data cleaner over time
  • improve the long-term customer experience for logged-in users

12. Admin Workflow Recommendations

↑ Back to top

To get the most value from the admin side of the plugin:

  • review pending requests regularly
  • use filters to work in smaller, more meaningful batches
  • use bulk actions when the same action clearly applies to multiple requests
  • review logs when something is unclear instead of guessing
  • use exports when you need wider analysis or reporting
  • use product-level controls for exceptions instead of constantly changing your global defaults

The main goal is to avoid letting captured demand sit unmanaged for too long.

The more intentionally you review and act on that demand, the more likely it is to support better restocking decisions, sharper pricing awareness, and stronger conversion follow-up.

13. How Admin Workflows Connect to the Rest of the Plugin

↑ Back to top

Admin workflows are where the rest of the plugin comes together operationally.

They reflect the combined result of:

  • storefront capture
  • General settings
  • product-level behavior
  • email templates
  • placeholders
  • Recovery Offers
  • log retention and expiration behavior

That means the admin side is not isolated.

It is where you see the practical business result of how your storefront, settings, messaging, and follow-up workflows are working together.

In practice, Smart Stock Notifications is strongest when storefront capture, settings, email configuration, and admin workflows all support the same goal: turning captured shopper intent into better decisions and more recovered sales.

Recovery Offers

↑ Back to top

1. Overview

↑ Back to top

Recovery Offers help you recover revenue from price-sensitive shoppers before itโ€™s lost.

They build on top of the Price Drop workflow by giving store managers a way to generate targeted coupon offers for eligible requests.

This makes Recovery Offers useful when a shopper has already shown interest, but may still need a stronger reason to complete the purchase.

2. Why Recovery Offers Matter

↑ Back to top

Some shoppers are interested, but they are waiting for a better price before buying.

Not all price-sensitive demand converts with a standard alert alone.

Recovery Offers create a more targeted way to convert delayed purchase intent.

They can help recover sales that might otherwise remain unconverted.

Used thoughtfully, Recovery Offers can help you:

  • convert more price-sensitive demand
  • create a more intentional follow-up workflow
  • recover revenue from shoppers who were interested but not yet ready to buy

3. How Recovery Offers Work

↑ Back to top

At a high level, the workflow looks like this:

  1. a shopper subscribes for a Price Drop alert
  2. the request is evaluated for Recovery Offer eligibility based on your configured Recovery Offer Policy
  3. an admin can generate an offer for an eligible request
  4. the offer email can be sent or resent
  5. the offer lifecycle can then be tracked in admin

This turns Price Drop demand into a more active conversion opportunity instead of leaving it as passive interest only.

4. Enabling Recovery Offers

↑ Back to top

Go to:

  • WooCommerce > Settings > Stock Notifications > Recovery Offers

From there, you can enable or disable Recovery Offers for your store.

When Recovery Offers are enabled, the plugin can support targeted coupon-offer workflows for eligible Price Drop requests.

When Recovery Offers are disabled, that conversion layer is not available, even if Price Drop signup is active.

5. Recovery Offer Policy Settings

↑ Back to top

Recovery Offer behavior is shaped by a configurable policy.

The main policy settings include:

  • Enable Recovery Offers
  • Maximum Discount Percent
  • Maximum Discount Amount
  • Minimum Final Price
  • Default Coupon Expiry (Days)
  • Default Coupon Usage Limit
  • Eligible Subscribers

These settings help you control how aggressive or conservative your offer strategy should be.

Maximum Discount Percent

  • limits how large a percentage discount can be
  • helps protect margin when offer pricing is calculated

Maximum Discount Amount

  • limits the fixed discount amount allowed for a generated offer
  • useful when you want an additional cap beyond percentage-based control

Minimum Final Price

  • prevents Recovery Offers from dropping the final offer price below a level you consider acceptable
  • useful for protecting pricing discipline on lower-margin products

Default Coupon Expiry (Days)

  • controls how long generated coupons remain valid by default
  • shorter expiry windows can create stronger urgency

Default Coupon Usage Limit

  • controls how many times the generated coupon can be used
  • helps keep Recovery Offers targeted and controlled

Eligible Subscribers

  • determines which subscriber types can receive Recovery Offers
  • this is explained more directly in the next subsection

Together, these settings form your Recovery Offer Policy.

6. Eligible Subscribers

↑ Back to top

Recovery Offers let you choose which kinds of subscribers are eligible.

Options:

  • Logged-in users and guests
  • Logged-in users only
  • Guests only

Why this matters:

  • some stores want Recovery Offers available to everyone
  • some stores only want to generate offers for logged-in users tied to customer accounts
  • some stores may want to isolate Recovery Offers to guest-capture workflows only

This setting affects who can move from a Price Drop request into a Recovery Offer workflow.

It is one of the clearest ways to align Recovery Offers with your storeโ€™s customer and margin strategy.

7. Generating Recovery Offers

↑ Back to top

Once a request is eligible under your Recovery Offer Policy, an admin can generate a Recovery Offer for it.

This is different from a normal notification send.

A standard notification tells the shopper that something changed.

A Recovery Offer creates a targeted incentive designed to improve the chance of conversion.

Recovery Offers are most useful when:

  • the shopper has already shown real interest
  • price sensitivity appears to be the likely purchase barrier
  • a controlled discount makes commercial sense
  • the request is a better fit for incentive-based follow-up than for waiting passively

Used well, Recovery Offers let you act on demand instead of only observing it.

8. Sending and Resending Recovery Offer Emails

↑ Back to top

After a Recovery Offer is generated, the related email can be sent or resent from the admin workflow.

This matters because timing can influence conversion.

A well-timed Recovery Offer email can:

  • bring the shopper back at the right moment
  • make the offer feel more immediate
  • increase the chance that the shopper completes the purchase

Resending can also be useful when:

  • the first send was missed
  • the admin wants to reattempt a valid offer
  • operational follow-up needs to be repeated intentionally

As with all customer-facing communication, resend actions should be used thoughtfully.

9. Tracking Recovery Offer Lifecycle

↑ Back to top

Recovery Offers are not just generated and forgotten.

The admin side of the plugin gives visibility into Recovery Offer state and related details so you can understand what has happened and what may still need attention.

This can include visibility into:

  • offer status
  • coupon details
  • related request context
  • activity and follow-up history

Lifecycle visibility matters because it helps you answer questions like:

  • has an offer already been generated?
  • was it sent?
  • what coupon is tied to this request?
  • is this still an active recovery opportunity?

That makes Recovery Offers more manageable as an operational process, not just a one-off action.

10. Practical Recommendations

↑ Back to top

Recovery Offers are most effective when they are used intentionally rather than broadly.

Good practice includes:

  • using Recovery Offers where price sensitivity is a real purchase barrier
  • keeping discount limits disciplined
  • protecting margin with clear policy guardrails
  • using expiry windows that create urgency without feeling arbitrary
  • keeping coupon usage appropriately limited
  • reviewing request context before generating offers at scale

In general, Recovery Offers work best when they feel:

  • relevant
  • specific
  • controlled
  • worth acting on

That is usually better than treating them like a broad discounting tool.

11. How Recovery Offers Work with the Rest of the Plugin

↑ Back to top

Recovery Offers depend on and connect to several other parts of Smart Stock Notifications.

They rely on:

  • Price Drop workflows
  • Recovery Offer Policy settings
  • eligible subscriber rules
  • email templates
  • placeholders
  • admin request tables and related admin workflows

That means Recovery Offers are not a standalone feature.

They are a conversion layer built on top of captured Price Drop demand.

In practice, they are strongest when:

  • Price Drop capture is configured well
  • policy settings are disciplined
  • email messaging is clear
  • admin follow-up is intentional

When those parts work together, Recovery Offers can help turn stalled price-sensitive demand into more recovered sales.

Presentation Settings

↑ Back to top

1. Overview

↑ Back to top

The Presentation section helps you control how the public signup form looks on your storefront.

Go to:

  • WooCommerce > Settings > Stock Notifications > Presentation

These settings matter because presentation affects more than appearance.

It can also affect:

  • how well the form blends into your store theme
  • how trustworthy and intentional the form feels
  • how easy the signup experience is to understand
  • how likely shoppers are to engage with the form instead of ignoring it

A well-presented signup form feels like part of the store, not like something added as an afterthought.

2. Why Presentation Matters

↑ Back to top

When a signup form matches the surrounding storefront, it usually feels more credible and easier to trust.

That matters because shoppers are being asked to take an action:

  • subscribe for a Back in Stock alert
  • subscribe for a Price Drop alert
  • optionally enter a target price

If the form feels visually disconnected from the rest of the store, it can create friction.

Good presentation helps:

  • reinforce your brand
  • make the form feel native to the storefront
  • improve clarity and readability
  • support stronger signup confidence
  • reduce the chance that the form is overlooked

In short, presentation helps captured demand begin with a better first impression.

3. How Presentation Settings Work

↑ Back to top

Saved presentation settings define the default visual behavior of the public signup form.

These saved defaults can affect things like:

  • the overall visual style
  • the layout and spacing
  • the form surface
  • text and input styling
  • active-state styling

Important note:

  • these are your default presentation settings
  • specific shortcode or block placements can still override the saved variant or layout
  • theme context can also influence the final appearance, especially when you use a theme-adaptive style

That means presentation is shaped by both the plugin settings and the storefront environment where the form appears.

4. Choosing a Presentation Strategy for Your Store

↑ Back to top

Before changing individual colors or layout details, it helps to decide what overall presentation strategy fits your store best.

Some stores benefit most from:

  • a form that inherits as much of the active theme as possible

Other stores benefit more from:

  • a stronger built-in presentation baseline that looks more self-contained

And some stores may prefer:

  • a lighter or more compact form style that stays visually quiet and unobtrusive

A good presentation strategy should help the form:

  • feel aligned with the surrounding storefront
  • stay readable and usable
  • support trust instead of distraction
  • fit the role the form plays on the page

The goal is not just to make the form look โ€œnice.โ€ The goal is to make it feel like it belongs.

5. Default Variant

↑ Back to top

A variant controls the overall visual character of the form.

Available options:

  • Theme Adaptive (Default)
  • Plugin Theme
  • Minimal
  • Card
  • Inline

Theme Adaptive (Default)

  • designed to inherit more from the active store theme
  • usually the best choice when your main goal is visual blending and brand alignment
  • useful when you want the form to feel like a natural part of the existing product page

Plugin Theme

  • uses a stronger built-in presentation baseline
  • useful when you want a more opinionated default look from the plugin itself
  • can be helpful when the store theme does not provide the kind of form styling you want

Minimal

  • uses a lighter, more stripped-back presentation
  • useful when you want the form to stay visually quiet and compact
  • works well when the surrounding storefront already carries a lot of visual styling

Card

  • gives the form a stronger container treatment
  • useful when you want the signup form to feel more distinct and self-contained
  • can help the form stand out more on busy product pages

Inline

  • uses a lighter visual treatment intended to feel less heavy than a card-style presentation
  • useful when you want the form to sit more gently within the surrounding content

Variant choice is one of the biggest factors in whether the form feels theme-aligned, branded, soft, distinct, or more plugin-styled.

6. Default Layout

↑ Back to top

A layout controls how the content inside the form is arranged.

Available options:

  • Stacked
  • Inline
  • Compact

Stacked

  • uses a more vertical arrangement
  • usually the safest and clearest choice
  • useful when you want more breathing room and easier scanning

Inline

  • uses a more horizontally efficient arrangement where supported
  • useful when space is tighter or when you want the form to feel less tall

Compact

  • reduces visual footprint and density
  • useful when you want the form to take up less space on the page

Layout affects spacing, density, and readability more than overall visual identity.

In practice:

  • variants shape the formโ€™s visual character
  • layouts shape how the form is arranged

7. Form Surface Settings

↑ Back to top

Form surface settings help define the overall container and how naturally it fits into the surrounding storefront.

These settings include:

  • Form Max Width
  • Form Background
  • Form Text Color
  • Form Border Color
  • Form Border Radius

Form Max Width

  • controls how wide the form can appear
  • useful when you want the form to feel more contained, more spacious, or better aligned with nearby page elements

Form Background

  • controls the background color of the form
  • useful when you want the form to blend into the page or stand out more clearly

Form Text Color

  • controls the main text color inside the form
  • can be left blank to inherit the surrounding theme text color
  • useful when you want stronger theme alignment without manually forcing text styling

Form Border Color

  • controls the outer border color of the form surface
  • helps influence how strong or subtle the container feels

Form Border Radius

  • controls corner rounding
  • useful when you want the form to feel softer, sharper, more modern, or more aligned with the design language of the rest of the store

Together, these settings strongly influence whether the form feels:

  • integrated
  • detached
  • premium
  • subtle
  • branded
  • generic

8. Typography and Interaction Settings

↑ Back to top

These settings affect readability, usability, and visual polish.

They include:

  • Title Color
  • Input Border Color
  • Input Focus Border Color
  • active option styling

Title Color

  • affects the form headings and stronger text labels
  • helps control visual emphasis and readability

Input Border Color

  • affects how the input fields are outlined by default
  • useful for matching the form to the rest of the storeโ€™s field styling

Input Focus Border Color

  • affects the visual feedback when a shopper interacts with an input
  • important for usability, clarity, and a more polished feel

Active option styling:

  • affects how selected notification options appear
  • helps shoppers understand which options are active or selected
  • useful for improving clarity and reducing uncertainty in combined notification forms

These settings do not just make the form prettier. They help the form feel easier to understand and use.

9. Price Drop Presentation Details

↑ Back to top

Price Drop signup introduces an extra layer of presentation responsibility because shoppers may be asked to enter a target price.

That means the price-related UI should feel:

  • clear
  • trustworthy
  • easy to interpret

Important considerations include:

  • whether currency context is visible
  • whether the target price field feels obvious and understandable
  • whether the field styling supports confidence rather than confusion

For Price Drop flows, visual clarity matters especially because the shopper is being asked to provide more than just an email address.

A confusing or visually awkward price field can create hesitation and reduce completion.

10. Live Preview

↑ Back to top

The live preview helps you test how the public signup form will look before saving changes.

This is valuable because it lets you:

  • compare variants
  • compare layouts
  • test color and surface decisions
  • see how active states and form structure feel
  • catch visual issues before publishing them

Live preview is especially useful when you are trying to answer questions like:

  • does this still feel like my store?
  • is the form too heavy or too subtle?
  • is the field styling clear enough?
  • does this feel branded or bolted on?

Previewing before saving helps reduce guesswork and makes presentation decisions more intentional.

11. Presentation Overrides in Shortcodes and Blocks

↑ Back to top

Saved presentation settings act as your defaults.

However, shortcode and block placement can override:

  • variant
  • layout

This is useful when you want a specific placement to behave differently from the store-wide default.

For example:

  • most of the store may use one default presentation
  • a specific builder template may need a different layout
  • a single manually placed form may need a different visual style than the global default

This gives you flexibility without forcing you to change the entire storeโ€™s presentation strategy every time you need one exception.

12. Troubleshooting Presentation Issues

↑ Back to top

If the preview looks different from the storefront:

  • remember that the live preview is a strong guide, but the final storefront appearance is still influenced by theme context and placement context

If the form looks different on the live product page than expected:

  • check which variant is active
  • check which layout is active
  • check whether a shortcode or block override is changing the result
  • check whether the surrounding theme or builder styling is affecting the final output

If the form feels visually disconnected:

  • consider using Theme Adaptive (Default)
  • review surface and text settings
  • check whether the current variant is stronger or lighter than the storefront needs

If the form is technically correct but still feels โ€œoffโ€:

  • test again on a real product page
  • compare it in the actual storefront context
  • adjust until the form feels aligned with the page around it, not just visually acceptable in isolation

13. How Presentation Settings Work with the Rest of the Plugin

↑ Back to top

Presentation settings change the appearance of the signup form, not the underlying notification logic.

They work alongside:

  • General settings
  • storefront placement
  • page builders
  • shortcode and block overrides
  • product-level behavior

That means presentation does not decide whether a notification flow is enabled.

Instead, it helps decide how that enabled flow is experienced by the shopper.

In practice, good presentation supports:

  • better brand alignment
  • clearer signup experiences
  • stronger trust
  • less visual friction
  • better overall conversion support

That makes Presentation Settings one of the key ways to make Smart Stock Notifications feel like part of your store instead of just a plugin added to it.

FAQs / Troubleshooting

↑ Back to top

1. Overview

↑ Back to top

This section answers common questions and helps you troubleshoot the most likely issues merchants run into when using Smart Stock Notifications.

It is meant to complement the rest of the documentation by helping you:

  • confirm expected behavior
  • solve common setup and storefront issues
  • understand how settings, placement, and product-level overrides interact
  • reduce the need for avoidable support work

2. Form Visibility and Placement

↑ Back to top

The signup form is not showing. What should I check?

Check the following first:

  • confirm the relevant notification type is enabled in the General settings
  • confirm the current product and storefront context allow that notification type
  • confirm your theme or page builder preserves the supported WooCommerce product-page hooks if you are relying on automatic placement
  • if needed, test manual placement using the shortcode or block

Automatic placement is enabled, but nothing appears. Why?

Automatic placement depends on supported WooCommerce product-page hooks.

If your theme or page builder does not preserve those hooks, the form may not appear automatically even when automatic placement is enabled.

In that case, use manual placement with the shortcode or block instead.

Why does the shortcode or block not render as expected?

Check that:

  • the shortcode is placed in an area that actually renders shortcodes
  • the block is placed in the correct product-page context
  • the relevant notification type is enabled
  • the placement is being tested on a real product page, not just in a builder preview

3. Product and Notification Type Questions

↑ Back to top

Does the plugin work with both simple and variable products?

Yes.

Smart Stock Notifications supports both simple and variable WooCommerce products across both Back in Stock notifications and Price Drop alerts.

Customers can subscribe to specific product variations when variation context is available, which helps keep notification behavior accurate and relevant.

Can Back in Stock and Price Drop both be enabled?

Yes.

Both notification types can be enabled independently, and the signup experience can be shown together or separately depending on your settings and placement choice.

Why is one notification type showing and the other not?

This usually comes down to one or more of the following:

  • the notification type is disabled in the General settings
  • the product-level behavior overrides the global default
  • the current product state does not support that notification type
  • the shortcode or block placement is explicitly configured to show only one type

How do product-level overrides affect behavior?

Product-level controls can override the global default behavior for specific products.

That means a product can behave differently from the rest of the store without changing your global setup.

4. Price Drop and Target Price Questions

↑ Back to top

Can shoppers set a target price?

Yes.

When Price Drop notification signup is enabled, shoppers can subscribe for Price Drop alerts and can optionally set a target price where that experience is available.

Why is a target price rejected?

If Validate Target Price Against Current Price is enabled, the shopperโ€™s target price must be less than or equal to the productโ€™s current price.

If that validation is disabled, target-price behavior is more flexible.

Why does the Price Drop form look or behave differently from Back in Stock?

Price Drop can include extra UI such as:

  • target-price input
  • currency context
  • price-related messaging

That makes the Price Drop experience slightly richer than the simpler Back in Stock flow.

5. Customer Signup and Management Questions

↑ Back to top

Can guests subscribe?

Yes.

Guests can subscribe without creating an account.

Can logged-in customers subscribe?

Yes.

Logged-in customers can subscribe as well.

Can customers manage their own notifications?

Yes.

Customers can manage notifications from My Account > My Notifications.

There they can:

  • review active notifications
  • unsubscribe
  • update Price Drop target prices

Where is My Notifications?

It appears in the WooCommerce My Account area as:

  • My Account > My Notifications

If you do not see it, check that the account area is working normally and that the plugin is active.

6. Email and Placeholder Questions

↑ Back to top

Can I customize the emails?

Yes.

You can customize:

  • subject
  • message body
  • footer

for the Back in Stock, Price Drop, Recovery Offer, and Product Communications email templates.

Can I preview the emails?

Yes.

The plugin includes preview support so you can review how a template looks before finalizing it.

How do placeholders work?

Placeholders are replaced with real values when the email is generated.

They help turn reusable templates into more specific customer-facing messages.

Why is a placeholder not rendering as expected?

Check that:

  • the placeholder is typed correctly
  • the placeholder actually exists
  • the current notification context provides the data it needs
  • the placeholder makes sense for the template you are using

7. Spam Protection and reCAPTCHA Questions

↑ Back to top

Is there a way to prevent bots or spam signups?

Yes.

Smart Stock Notifications supports reCAPTCHA v3 to help reduce spam signups and keep your notification lists cleaner.

What do I need to configure reCAPTCHA?

You need:

  • a reCAPTCHA v3 site key
  • a reCAPTCHA v3 secret key
  • access to your Google reCAPTCHA configuration

Why is reCAPTCHA enabled but not visibly doing anything?

That is usually expected.

reCAPTCHA v3 typically works in the background instead of showing a visible checkbox challenge.

8. Admin Workflow Questions

↑ Back to top

Can I export notification requests?

Yes.

You can export filtered requests or selected requests from the admin workflow.

Can I review logs?

Yes.

Logs and activity history are available to help with troubleshooting, auditing, and operational review.

Can I manage requests from the admin area?

Yes.

The admin side of the plugin supports reviewing, updating, sending, deleting, filtering, exporting, and otherwise working with notification requests.

It also includes the Product Communications Workspace for sending product-level subscriber update emails and reviewing communication history.

Can I send update emails before a product is back in stock or before the price-drop trigger is met?

Yes.

Use the Product Communications Workspace to send product-level update emails to waiting subscribers before the final notification trigger is met.

This is useful when you want to share expected availability timing, expected pricing, or other interim updates while subscriber demand is still active.


Where do I find the Product Communications Workspace?

Yes, you can access it from:

WooCommerce > Notifications > Product Communications Workspace

From there, you can review product-level subscriber demand, save expected availability and pricing context, send update emails, and review update history with recipient-level results.

How do bulk actions fit into the workflow?

Bulk actions help you work more efficiently when multiple requests need the same treatment.

They are useful for larger request queues, but they should be used carefully for customer-facing actions such as sending.

9. Recovery Offer Questions

↑ Back to top

What are Recovery Offers?

Recovery Offers are targeted coupon offers that build on top of Price Drop demand.

They help you recover revenue from price-sensitive shoppers before itโ€™s lost.

Who can receive Recovery Offers?

That depends on your configured Recovery Offer Policy.

You can allow:

  • logged-in users and guests
  • logged-in users only
  • guests only

How does eligibility work?

Requests are evaluated for Recovery Offer eligibility based on your configured Recovery Offer Policy.

That policy controls the guardrails and subscriber rules that shape the offer workflow.

Why was an offer not generated or not available?

Possible reasons include:

  • Recovery Offers are disabled
  • the request is not eligible under the current Recovery Offer Policy
  • subscriber type is not eligible
  • the pricing guardrails prevented offer generation
  • the request is not a good candidate under the current setup

10. Troubleshooting Guidance

↑ Back to top

If something seems wrong, start with the most likely causes first.

Good troubleshooting order:

  1. check the relevant settings
  2. test on a real product page
  3. confirm whether the issue is automatic placement, manual placement, or product-level override related
  4. check whether the theme or builder is affecting the result
  5. review logs or admin request context where relevant

A large percentage of issues come from configuration, placement, or theme/builder context rather than from the core plugin logic itself.

11. When to Seek Deeper Support

↑ Back to top

The issue is often configuration-related when:

  • the wrong notification type is enabled
  • automatic placement depends on unsupported hooks
  • shortcode placement is in the wrong kind of content area
  • product-level overrides are affecting behavior

The issue may require deeper theme, builder, or custom-code review when:

  • the storefront context is heavily customized
  • hooks are replaced or removed by a theme or builder
  • the page layout is built through custom templates
  • custom code is overriding how product pages are rendered

In those cases, the plugin may still be working correctly, but the surrounding storefront implementation may need additional investigation.


Related Products

Offer add-ons like gift wrapping, special messages or other special options for your products.

Let customers subscribe to your products or services and pay on a weekly, monthly or annual basis.

Use of your personal data
We and our partners process your personal data (such as browsing data, IP Addresses, cookie information, and other unique identifiers) based on your consent and/or our legitimate interest to optimize our website, marketing activities, and your user experience.