Home / Help Center / pos-app / Online Channels / Marketing
🏷️ Online Channels

Marketing

Marketing is a launcher page rather than its own settings form — it shows a live SEO Health checklist computed from your real product data, plus four tiles that jump straight into the actual tools: Discount Campaigns, Abandoned Cart Recovery, Email Marketing, and Blogging.

📍 Menu path: Online Channels → Marketing
👤 Who uses it: All roles with Online Channels access

Overview

The SEO Health card fetches up to 1,000 active products and calculates, in real time, what percentage have a storefront URL (slug), a meta title, a meta description, and a social share image — each shown as a progress bar with a raw count/total.

A green checkmark appears next to any row that has reached 100%, and a "Fix gaps in Products" link jumps straight to the Products page to fill in whatever is missing.

Below the health card, four tiles link out to where the actual marketing tools live: Discount Campaigns (Promotions page), Abandoned Cart Recovery (its own Online Channels page), Email Marketing (the Communication category on the Integrations page), and Blogging.

The Blogging tile on this page is marked "Coming soon" and is disabled — however a fully working Blog page already exists and is reachable directly from the Online Channels sidebar, so this tile is out of date relative to the rest of the product.

Before You Start

Step-by-Step Guide

1 Check and improve your SEO health score

  1. Open Marketing — the SEO Health card loads automatically and shows four progress bars.
  2. Identify the row(s) below 100% (storefront URL / meta title / meta description / social share image).
  3. Click Fix gaps in Products to jump to the Products page and fill in the missing SEO fields on individual products.

2 Launch a discount campaign

  1. Click the Discount Campaigns tile — it opens the Promotions page where coupon codes and time-limited offers are actually created.

3 Follow up on customers who didn't check out

  1. Click the Abandoned Cart Recovery tile to open the Abandoned Carts page and send WhatsApp reminders to customers who left items in an online cart.

4 Connect an email marketing provider

  1. Click the Email Marketing tile — it opens Integrations, where the Communication category holds the actual Email Marketing connection (Mailchimp/SendGrid/Brevo).

Every Field & Button, Explained

Field / ButtonWhat it does
SEO Health cardFour progress rows — storefront URL, meta title, meta description, social share image — each with a count/total and percentage bar computed live from your active products.
Fix gaps in ProductsShortcut link that jumps to the Products page so you can fill in missing SEO fields on individual products.
Discount Campaigns tileOpens the Promotions page to create coupon codes and time-limited offers.
Abandoned Cart Recovery tileOpens the Abandoned Carts page to view and follow up on unfinished online carts.
Email Marketing tileOpens Integrations → Communication category to connect an email provider for campaigns/receipts.
Blogging tileDisabled and labelled "Coming soon" on this page — despite a working Blog page already existing under Online Channels in the sidebar.

Tips & Best Practices

Troubleshooting & FAQ

The SEO Health card shows 0/0 for everything.
You have no active products yet, or the products endpoint could not be reached. Add products (or check they are marked active) and reload the page.
The Blogging tile is greyed out — does that mean I cannot blog?
No — that tile is stale. A complete Blog page already exists; open it directly from the Online Channels section of the sidebar rather than through this tile.
Clicking a tile does not open anything.
Tiles navigate using the app router (e.g. to /promotions, /abandoned-carts, /integrations) — if nothing happens, check your role has access to that destination page in Staff Permissions.
Why is there no Save button on this page?
Marketing has no settings of its own to save — it is purely a dashboard/launcher; all actual configuration happens on the linked pages (Promotions, Abandoned Carts, Integrations, Blog).

🧑‍💻 Developer Notes

Source component(s):

  • frontend-app/packages/pos-react-lib/src/pages/MarketingPage.jsx

Backend endpoints used:

  • GET /products

Related tables (db-core repositories):

  • Product

Feature flag key: integrations (requires advanced plan tier or above)

SEO Health is computed entirely client-side from a single GET /products?limit=1000&isActive=true call — there is no dedicated SEO-stats endpoint. The four tiles are plain react-router navigate() calls to other pages' routes; the Blogging tile is intentionally left disabled with a "Coming soon" badge even though BlogPage.jsx is a complete, working page reachable via the sidebar — worth reconciling in a future update so the tile and the sidebar do not disagree.