Merchant Guide

NotifyMe: Magento 2 back in stock alerts

Collect back-in-stock alert sign-ups on any product page and automatically email subscribers the moment stock returns.

Overview

NotifyMe adds a "Notify Me" button to out-of-stock product pages, category listings, and wishlists. Customers and guests sign up for an alert; when you restock, NotifyMe's cron job queues and delivers personalised emails automatically - without you lifting a finger.

NotifyMe overview - subscriber grid and notification button

This module helps you:

  • Recover sales that would otherwise be lost when a product goes out of stock
  • Build a warm re-engagement list of customers who already want to buy
  • Throttle notification volume so one large restock doesn't flood your mail server
  • Track which notifications convert to orders, with attribution via UTM parameters
  • Stay GDPR-compliant with a built-in privacy checkbox and newsletter opt-in for guest sign-ups

When to use this

Use NotifyMe when you want to:

  • Capture demand for products that regularly go in and out of stock
  • Re-engage customers automatically the moment a pre-order or restocked item is available
  • Reduce "is this coming back?" support queries by giving customers a self-serve alert option
  • Measure how many orders are driven by back-in-stock emails, not just traffic
  • Offer category-page sign-ups so customers browsing a sold-out range don't leave empty-handed

Key capabilities

  • Back-in-stock button - injected automatically into product, category, and wishlist pages for all supported product types
  • Configurable and bundle product support - variant-specific alerts so customers get notified for exactly the option they want
  • Guest email verification - guests confirm their address before a subscription is saved, keeping your list clean
  • Notify multiplier - caps how many emails go out per restock event (e.g. restock 20 units × multiplier 3 = up to 60 alerts)
  • Message queue delivery - emails are processed via Magento's message queue for reliable, non-blocking sends
  • Admin subscriber grid - view, filter, mass-send, and mass-delete subscriptions from a central grid
  • Statistics page - see total alerts sent and how many converted to orders
  • UTM tagging - every email link carries configurable UTM parameters so Google Analytics / GA4 attributes the revenue correctly
  • GDPR & newsletter opt-in - optional checkboxes shown to guests at sign-up, remembered per email address once accepted
  • Hyvä, Luma, and Porto theme support - dedicated Hyvä CSS module included; Luma and Porto work out of the box

Installation

NotifyMe installs via Composer, then activates with a license key from your Moogento.com account. The whole flow takes about 5 minutes.

Step 1: Get your Composer keys from Moogento.com

  1. Sign in at https://www.moogento.com and open My Plugins in your account menu.
  2. Find NotifyMe in the list of plugins you own.
  3. Generate (or reveal) the Composer access keys for that plugin - a public key and a private key.
  4. Add your install domain to the key. Each Composer key is tied to a specific domain - if you're installing on yourstore.com, add yourstore.com to the key's allowed domains. The Composer download will be rejected on any other domain.

If you run staging and production on different domains, add both - separate keys per environment are fine too.

Step 2: Install the module with Composer

From your Magento 2 root directory:

composer require moogento/module-notifyme

When Composer asks for credentials, paste the public key as the username and the private key as the password. They'll be cached in ~/.composer/auth.json for future runs.

Step 3: Enable the module in Magento

php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:clean

Run php bin/magento module:status Moogento_Notifyme to confirm the module is listed as enabled.

Step 4: Add your license key in the Moogento admin

  1. Still on https://www.moogento.com > My Plugins, copy the license key for NotifyMe (separate from the Composer keys used above).
  2. In your Magento admin, go to Stores > Configuration > Moogento > Licenses.
  3. Find the row for NotifyMe and paste the license key.
  4. Click Save Config, then run php bin/magento cache:clean once.

The license validates within a few seconds. If it stays inactive, double-check the domain on the license matches where you've installed - domain mismatch is the most common cause.

Extra steps for NotifyMe

NotifyMe sends emails through Magento's message queue. After installation, make sure the queue consumer is running:

php bin/magento queue:consumers:start moo.notifyme.communication.product.alert.stock

For production, add this consumer to your app/etc/env.php cron consumers list or configure a dedicated cron entry so it restarts automatically.


Setup overview

Most setup happens in:

Stores > Configuration > Moogento > NotifyMe

You'll mainly work with:

  • General - enable the module, set email templates, configure the notify multiplier, and choose the email sender
  • Customize: Frontend - button text, customer-facing messages, related products, and button colours
  • Setup: Google Analytics - UTM parameters and conversion window

Navigate to the subscriber data via Moogento > NotifyMe, then use the hidden grid URLs listed under Subscriber grid and statistics below.


Common setups

Turn on back-in-stock alerts for the first time

Enabling the module and pointing it at your email sender takes about two minutes.

How to set it up

  1. Go to: Stores > Configuration > Moogento > NotifyMe > General

    General configuration group

  2. Set:

    • Enable = Yes
    • Email: Sender = the store identity to send from (e.g. General Contact)
    • Email template: Watched item back in stock (customer) = NotifyMe: Product Back in Stock (or a custom template)
    • Enable: On category pages = Yes (default) - shows the button on category listings
  3. Save Config.

  4. Run php bin/magento cache:clean.

Notes

  • Leave Enable: Default Magento "Product Back in Stock" emails = No (the default). If you enable it, Magento's built-in alert system will also send emails, resulting in duplicates.
  • Make sure at least one cron job is running (moo_notifyme_product_stock_alert fires every minute). Check via Stores > Configuration > Advanced > System > Cron.

Set the notify multiplier to protect your mail server

When a large restock arrives the multiplier controls how many subscribers get an alert. A multiplier of 3 on a restock of 20 units sends up to 60 emails - everyone on the list for that product, but proportional to actual stock.

How to set it up

  1. Go to: Stores > Configuration > Moogento > NotifyMe > General

  2. Set:

    • Restock qty: Notify multiplier = 3 (default) - increase if you want to alert more subscribers per unit restocked, or lower it if you receive very large restocks and want to conserve sends.
  3. Save Config.

Notes

  • The multiplier applies at the website scope (not per store view).
  • If you restock enough to cover every subscriber, all of them will be notified regardless of the multiplier - it only caps sends when stock is limited relative to demand.

Add GDPR and newsletter opt-in for guest sign-ups

For stores that need a privacy consent tick-box - or that want to grow their newsletter list at the moment of alert sign-up - these checkboxes appear only for guests and only until each is accepted once.

How to set it up

  1. Go to: Stores > Configuration > Moogento > NotifyMe > Customize: Frontend > Add for Guests: GDPR & Newsletter Options

    GDPR and newsletter guest options

  2. Set:

    • Enable: GDPR/Privacy checkbox = Yes - guests must tick this before their first subscription is saved
    • Label for: GDPR/privacy checkbox = e.g. I agree with the [Privacy Policy] (use square brackets around the link text)
    • Link to: GDPR/privacy policy = privacy-policy (appended to your store URL)
    • Enable: Newsletter checkbox = Yes - shown to guests who are not yet subscribed
  3. Save Config.

Notes

  • Once a guest accepts the GDPR checkbox for one product, it is not shown again for that email address site-wide.
  • The newsletter opt-in is only shown if the guest is not already subscribed to your Magento newsletter.
  • These options only apply to guests. Registered customers are assumed to have already accepted your terms.

Configure UTM tracking for back-in-stock emails

Add UTM parameters to every link in your back-in-stock alert emails so Google Analytics attributes revenue to the NotifyMe campaign.

How to set it up

  1. Go to: Stores > Configuration > Moogento > NotifyMe > Setup: Google Analytics

    Google Analytics UTM configuration

  2. Set:

    • General: utm_source = notifyme (default)
    • Emailed: utm_medium = email (default)
    • Emailed: utm_campaign = NM emailed (default, or your preferred campaign label)
    • Conversion: Window = 30 (days - how long after an email click a resulting order counts as a NotifyMe conversion)
  3. Save Config.

Notes

  • The utm_source, utm_medium, and utm_campaign values are appended to all product URLs inside notification emails.
  • Other medium and campaign fields (utm_medium_other, utm_campaign_other) apply to non-email touchpoints such as the customer watchlist page - set these if you want to distinguish email-driven traffic from in-store page traffic.

Features reference

Subscriber grid and statistics

NotifyMe's subscriber management pages are ACL-protected but not listed in the top navigation menu. Access them directly:

  • Subscriptions grid: Moogento > NotifyMe then navigate to notifyme/watchlists/subs - lists every active and historical subscription with product, email, sent count, and status
  • Watched products grid: notifyme/watchlists/products - one row per product with aggregate watcher counts
  • Statistics page: notifyme/watchlists/stats - total alerts sent and conversion counts

From the subscriptions grid you can:

  • Filter by product, email, or status
  • Mass-send alerts immediately (useful after a manual restock)
  • Mass-delete stale or test subscriptions
  • Export to CSV via notifyme/csv/subsExport

Subscriptions grid


Frontend customisation

Control every customer-facing string and colour from:

Stores > Configuration > Moogento > NotifyMe > Customize: Frontend

Key fields:

Setting Default Config path
Button text Notify Me moogento_notifyme/frontend/notifyme_button_title
Label for customers (un-watched) Get notified when this is back in stock moogento_notifyme/frontend/notifyme_button_label_customers
Label for guests (un-watched) Get notified when this is back in stock moogento_notifyme/frontend/notifyme_button_label_guests
Message: after subscription Done - we'll email you when this is back in stock moogento_notifyme/frontend/notifyme_success_message
Message: guest pending confirm To confirm your alert just click the link we emailed moogento_notifyme/frontend/guest_pending_confirm_message
Message: already subscribed On my Watch List moogento_notifyme/frontend/notifyme_already_subscribed_message
Message: unsubscribed Done - we'll no longer let you know when this product is back in stock moogento_notifyme/frontend/notifyme_canceled_message

Button colours are under Customize: NotifyMe Button Design:

  • Background color - default #86aa81 (moogento_notifyme/moo/button_bkg_color)
  • Text color - default #FFFFFF (moogento_notifyme/moo/button_text_color)

When a product is out of stock, NotifyMe can display a configurable number of related products inside the alert email and on the product page widget.

  • Go to Stores > Configuration > Moogento > NotifyMe > Customize: Frontend
  • Enable: RelatedProducts = Yes (moogento_notifyme/frontend/enable_related_products)
  • Count Related Products = 2 (default; moogento_notifyme/frontend/count_related_products) - how many related items to display

Use this to cross-sell while a product is unavailable.


Email templates

NotifyMe ships two transactional email templates:

Template Purpose Config field
NotifyMe: Product Back in Stock Sent to subscribers when a product is restocked moogento_notifyme/general/watched_item_restocked_customer_email_template
NotifyMe: Guest Email Verification Confirmation link sent to guest subscribers before their address is saved moogento_notifyme/general/verify_guests_email_template

To customise a template: go to Marketing > Email Templates, click Add New Template, load the NotifyMe template as the base, then select your custom version in the config fields above.

Set templates per store view if you run a multi-language store - the email sender identity (moogento_notifyme/general/email_sender) can also be set per store view.


Import from Magento's built-in product alerts

If you were previously using Magento's default product alert system, you can migrate those subscribers into NotifyMe with one click.

Go to Stores > Configuration > Moogento > NotifyMe > General and click Import: Un-contacted customers from the default system.

This imports only subscribers who have not yet been contacted in the native Magento system, so no one gets a duplicate alert. After the import, set Enable: Default Magento "Product Back in Stock" emails = No to disable the native system.


Advanced configuration

Cron jobs and message queue

NotifyMe's email delivery depends on two cron jobs and a Magento message queue consumer. If either is not running, alerts will queue up but not send.

Cron job Schedule What it does
moo_notifyme_product_stock_alert Every minute Checks for restocked products and publishes alert messages to the queue
moo_notifyme_check_orders Hourly Updates conversion statistics (license-gated feature)

The queue consumer moo.notifyme.communication.product.alert.stock processes up to 50 messages per run.

Setup

  1. Verify Magento cron is running: bin/magento cron:run --group=default
  2. Confirm the consumer is active: bin/magento queue:consumers:list
  3. If the consumer is not listed as running, start it: bin/magento queue:consumers:start moo.notifyme.communication.product.alert.stock

For production environments, add the consumer to your process manager (e.g. Supervisor) so it restarts automatically.

Notes

  • Logs are written to var/log/moogento_notifyme.log. Check this file first when investigating delivery issues.
  • The message queue must be configured in app/etc/env.php. The default Magento database queue adapter works fine; RabbitMQ is supported for high-volume stores.

Tips & best practices

  • Start with the notify multiplier at 3 and adjust after your first few restocks. Too low and many subscribers never hear from you; too high and you risk over-promising stock you don't have.
  • Customise button text to match your brand voice - "Notify Me" works, but "Alert me when available" or "Join the waitlist" can lift sign-up rates on certain product types.
  • Set email templates per store view if you operate multiple languages. Sending a French-language store alert in English is a common oversight that hurts conversion.
  • Run a test import from the default Magento product alert system before going live, then immediately disable the native system to prevent duplicates.
  • Monitor var/log/moogento_notifyme.log after each deployment that touches inventory or product data - this is the fastest way to spot a broken observer or queue consumer.
  • On Hyvä stores, enable Hyva_MoogentoNotifyme after installing and run php bin/magento setup:di:compile and php bin/magento cache:clean before testing the button in the storefront.
  • Use the CSV exports from the subscriptions grid to periodically back up your subscriber list or feed it into your email marketing platform.

Troubleshooting

Alerts are not being sent after a restock

Subscribers are signed up but no emails arrive when stock is replenished.

  • Cause: The cron job or queue consumer is not running.
  • Check: Look at var/log/moogento_notifyme.log for recent activity. Run bin/magento cron:run --group=default manually and watch for log output. Confirm the consumer is alive with bin/magento queue:consumers:list.
  • Resolution: Start the consumer with bin/magento queue:consumers:start moo.notifyme.communication.product.alert.stock. For production, configure Supervisor or an equivalent process manager to keep it running.

Guest subscribers do not receive their confirmation email

A guest enters their email to sign up, but the verification link never arrives.

  • Cause: The guest verification email template is not selected, or Magento's SMTP transport is misconfigured.
  • Check: Go to Stores > Configuration > Moogento > NotifyMe > General and confirm Email template: Verify email address for guests is set to NotifyMe: Guest Email Verification. Then verify Stores > Configuration > Advanced > System > Mail Sending Settings > SMTP host is correct.
  • Resolution: Select the correct template and save. If SMTP is the problem, fix the transport settings and re-test with a fresh guest sign-up.

The Notify Me button is not appearing on product pages

The button is missing on out-of-stock products despite the module being enabled.

  • Cause: The module is disabled, the product type is not supported, or the full-page cache has not been flushed.
  • Check: Confirm moogento_notifyme/general/enable = Yes. Confirm the product is genuinely out of stock (not just a display issue). Run php bin/magento cache:clean.
  • Resolution: If the module was just installed or upgraded, run php bin/magento setup:di:compile followed by php bin/magento cache:clean.

The Notify Me button is missing or unstyled on a Hyvä theme

The button appears in the wrong position, has no styling, or throws a compile error mentioning NotifymeIcons.

  • Cause: The Hyva_MoogentoNotifyme compatibility module is not enabled or its CSS has not been compiled into the Tailwind build.
  • Check: Run php bin/magento module:status Hyva_MoogentoNotifyme. Check the browser console for 404s on CSS files under Moogento_Notifyme/.
  • Resolution: Enable the Hyva compatibility module, run php bin/magento setup:di:compile and php bin/magento cache:clean. For the NotifymeIcons compile error specifically, ensure the latest module code is deployed - the icon renderer no longer depends on Hyva\Theme\ViewModel\SvgIcons, so an older version in a cache or deployment artifact can cause this.

Too many emails are being sent for a single restock

A restock of 10 units triggers far more alert emails than expected.

  • Cause: The notify multiplier is set too high, or the default Magento product alert system is still enabled and sending separately.
  • Check: Review moogento_notifyme/general/notify_multiplier and moogento_notifyme/general/allow_stock.
  • Resolution: Lower the multiplier. Set Enable: Default Magento "Product Back in Stock" emails = No to stop the native system from sending a second wave.

FAQs

How do customers sign up for a back in stock alert?

When a product is out of stock, NotifyMe displays a "Notify Me" button directly on the product page. Customers click it; if they are logged in their email is captured instantly, while guests receive a confirmation email with a verification link before their subscription is saved. The button also appears on category listing pages and wishlists if those options are enabled.

Does NotifyMe work with configurable and bundle products?

Yes - NotifyMe supports simple, configurable (including swatches), grouped, and bundle product types. For configurable products, the alert is tied to the specific variant the customer selects, so they are notified when that exact size, colour, or option comes back, not just the parent product.

How do I see who has signed up for alerts?

Go to the subscriptions grid at notifyme/watchlists/subs in your admin. It lists every subscription with the customer or guest email, the product, how many emails have been sent, and the current status. You can filter, mass-send, mass-delete, or export the list to CSV.

Why is the Notify Me button not showing on my product pages?

The most common reasons are that the module is disabled, the full-page cache has not been flushed, or setup:di:compile has not been run since installation. Go to Stores > Configuration > Moogento > NotifyMe > General, confirm Enable = Yes, then run php bin/magento setup:di:compile and php bin/magento cache:clean.

Is NotifyMe compatible with Hyvä, Luma, and Porto themes?

Yes - NotifyMe works with all three. Luma and Porto are supported out of the box. For Hyvä, a dedicated companion module (Hyva_MoogentoNotifyme) is included; enable it and run setup:di:compile after installation to load the Tailwind component styles and correct button sizing.

What happens to existing Magento product alert subscribers when I install NotifyMe?

Your existing Magento default product alert subscribers are preserved in the native tables. Use the Import: Un-contacted customers from the default system button in the General config to migrate them into NotifyMe. After importing, set Enable: Default Magento "Product Back in Stock" emails = No so only one system sends alerts.

How does the notify multiplier work?

The notify multiplier controls how many alert emails are sent relative to the number of units restocked. If you restock 20 units and the multiplier is 3, NotifyMe will send up to 60 alerts. This prevents you from notifying more people than you can actually fulfil orders for. When you restock enough to cover every subscriber, everyone is notified regardless of the multiplier.

Can I track which sales came from NotifyMe emails?

Yes - go to Stores > Configuration > Moogento > NotifyMe > Setup: Google Analytics and configure your UTM parameters. Every link inside a back-in-stock email will carry those parameters, so GA4 or Universal Analytics attributes the resulting session to the NotifyMe campaign. The statistics page at notifyme/watchlists/stats also shows total emails sent and orders converted within your configured conversion window.

Yes - when Enable: GDPR/Privacy checkbox is turned on, guest subscribers must tick a privacy acceptance checkbox before their first subscription is saved. The acceptance is remembered per email address site-wide, so the checkbox is not shown again once accepted. This option only applies to guests; registered customers are assumed to have accepted your terms.

What happens if I disable NotifyMe?

Disabling the module (setting Enable = No) removes the Notify Me button from the storefront immediately after a cache flush. Existing subscription records are retained in the database and no emails are sent while it is disabled. Re-enabling the module restores the button and resumes normal cron-driven delivery.


  • AnalyticsEasyPro - connects NotifyMe conversion events to GA4 via Measurement Protocol for accurate revenue attribution in your analytics account

Need help?

  • moo@moogento.com
  • Include:
    • Magento version
    • Module name
    • What you're trying to do

Was this helpful?

Need source? Raw markdown is available for AI agents, plain-text copying, and diffs.

Raw markdown