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 top1. Requirements
↑ Back to topBefore installing Smart Stock Notifications, make sure your store meets these requirements:
- WordPress
5.6or later - WooCommerce
4.0or later - PHP
7.4or 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 topInstall 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 topGo to:
WooCommerce > Settings > Stock Notifications
From there, you can configure:
GeneralPresentationEmail TemplatesRecovery OffersPlaceholdersreCAPTCHA
4. Recommended first-run checklist
↑ Back to topAfter activation, we recommend this order:
- Review the
Generalsettings, including how Back in Stock and Price Drop forms should appear on product pages. - Configure your email templates.
- Review placeholders and reCAPTCHA settings if needed.
- Test the experience on a product page.
5. Important note about automatic form placement
↑ Back to topAutomatic 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 topThe 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 topUse 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 topBack-in-Stock Behavior controls how Back in Stock signup forms are made available.
Options:
DisabledEnabled (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 Togethersection below
3. Price-Drop Behavior
↑ Back to topPrice-Drop Behavior controls how Price Drop signup forms are made available.
Options:
DisabledEnabled (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 Togethersection below
4. Show Currency On Target Price Field
↑ Back to topShow 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 topValidate 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 topEnable 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 topAuto Expiration Period (Days) controls how long newly created notification requests remain active before expiring automatically.
Default:
365days
Behavior:
- enter a number greater than
0to expire requests after that many days - enter
0to keep requests indefinitely
Practical implications:
- a shorter period keeps your notification lists fresher
- a longer period keeps more historical demand active for follow-up
0is best only if you intentionally want no automatic expiration cleanup
This setting works together with Enable Auto Expiration.
8. Stock Check Frequency
↑ Back to topStock Check Frequency controls how often the plugin checks product stock.
Options:
HourlyTwice DailyDaily
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 topLog Retention Period controls how long plugin logs are kept.
Options:
30 days90 days180 daysIndefinite
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 topThe 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 top1. Overview
↑ Back to topSmart 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 topAutomatic 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 BehaviorPrice-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 topManual 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 topThe shortcode supports these options:
typeshow_bisshow_pdvariantlayoutclass
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 topBasic 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 topSmart 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:
showBisshowPdvariantlayout
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 topWhat 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 Notificationsarea
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 topWhen 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 topAutomatic 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 topThe 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 top1. Overview
↑ Back to topSome 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 topBefore 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 topIf you are using Elementor Theme Builder for WooCommerce product templates:
- Go to
Templates > Theme Builder > Single Product. - Create or edit the product template you want to use.
- Add a
Shortcodewidget where you want the signup form to appear. - Paste:
[smart_stock_notification_form] - 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 topIf you are using Avada layouts for WooCommerce product pages:
- Go to
Avada > Layouts > Single Product. - Create or edit the layout you want to use.
- In the content area, add a
Code BlockorText Block. - Paste:
[smart_stock_notification_form] - Save the layout.
- Clear any page or builder cache if needed.
- 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 topEven 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:
- place the shortcode where you want the form to appear
- save the template or layout
- 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 topDuplicate 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
Generalsettings - or use product-level overrides if that is the better fit for the product
7. When to Use a Block Instead
↑ Back to topIf 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 topIf 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
Generalsettings - 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 top1. Overview
↑ Back to topThe 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 topNotification 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 topSmart 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 topFor 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 topThe 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 topThe 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 topThe 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 topEmail 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 topBefore 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 topTo 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 topEmail 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 top1. Overview
↑ Back to topPlaceholders 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 topA 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 topBuilt-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 topCustom 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 topYou 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 topPlaceholders 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 topCommon 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 topPreviewing 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 topIf 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
Placeholderssettings - 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 topPlaceholders 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 top1. Overview
↑ Back to topThe 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 topNotification 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 topreCAPTCHA 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 topBefore configuring reCAPTCHA, make sure you have:
- a
reCAPTCHA v3site key - a
reCAPTCHA v3secret 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 topIn the reCAPTCHA settings, you can configure:
EnablereCAPTCHA Site KeyreCAPTCHA Secret Key
Basic setup flow:
- enable reCAPTCHA
- enter your
reCAPTCHA v3site key - enter your
reCAPTCHA v3secret key - save the settings
- 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 topWith 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 topreCAPTCHA 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 topFor 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 topIf 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 v3usually 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 topreCAPTCHA 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 top1. Overview
↑ Back to topThe 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 topThe 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 topEach 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 topFiltering 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 topRow-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 topBulk 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 topLogs 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 topExport 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 topThe 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 topProduct-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 topSmart 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 topTo 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 topAdmin workflows are where the rest of the plugin comes together operationally.
They reflect the combined result of:
- storefront capture
Generalsettings- 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 top1. Overview
↑ Back to topRecovery 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 topSome 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 topAt a high level, the workflow looks like this:
- a shopper subscribes for a Price Drop alert
- the request is evaluated for Recovery Offer eligibility based on your configured Recovery Offer Policy
- an admin can generate an offer for an eligible request
- the offer email can be sent or resent
- 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 topGo 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 topRecovery Offer behavior is shaped by a configurable policy.
The main policy settings include:
Enable Recovery OffersMaximum Discount PercentMaximum Discount AmountMinimum Final PriceDefault Coupon Expiry (Days)Default Coupon Usage LimitEligible 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 topRecovery Offers let you choose which kinds of subscribers are eligible.
Options:
Logged-in users and guestsLogged-in users onlyGuests 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 topOnce 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 topAfter 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 topRecovery 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 topRecovery 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 topRecovery 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 top1. Overview
↑ Back to topThe 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 topWhen 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 topSaved 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
variantorlayout - 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 topBefore 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 topA variant controls the overall visual character of the form.
Available options:
Theme Adaptive (Default)Plugin ThemeMinimalCardInline
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 topA layout controls how the content inside the form is arranged.
Available options:
StackedInlineCompact
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 topForm surface settings help define the overall container and how naturally it fits into the surrounding storefront.
These settings include:
Form Max WidthForm BackgroundForm Text ColorForm Border ColorForm 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 topThese settings affect readability, usability, and visual polish.
They include:
Title ColorInput Border ColorInput 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 topPrice 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 topThe 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 topSaved presentation settings act as your defaults.
However, shortcode and block placement can override:
variantlayout
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 topIf 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 topPresentation settings change the appearance of the signup form, not the underlying notification logic.
They work alongside:
Generalsettings- 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 top1. Overview
↑ Back to topThis 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 topThe signup form is not showing. What should I check?
Check the following first:
- confirm the relevant notification type is enabled in the
Generalsettings - 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 topDoes 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
Generalsettings - 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 topCan 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 topCan 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 topCan 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 topIs 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 v3site key - a
reCAPTCHA v3secret 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 topCan 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 topWhat 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 topIf something seems wrong, start with the most likely causes first.
Good troubleshooting order:
- check the relevant settings
- test on a real product page
- confirm whether the issue is automatic placement, manual placement, or product-level override related
- check whether the theme or builder is affecting the result
- 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 topThe 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.