BadgeFlow guide for Shopify merchants

Put a badge on your products. Set the dates. Walk away.

BadgeFlow adds labels like SALE -30%, NEW or CHUSEOK on top of your product images, and turns them on and off at the times you choose. You never touch your theme code. This guide takes you from install to your first live badge in about ten minutes.

Try it: this is the campaign editorlive preview
CHUSEOK -20%
Hydrating SerumEUR 24.90

What you need before you start

  • A Shopify store on an Online Store 2.0 theme. Dawn and the other free themes work out of the box.
  • Staff access that can install apps.
  • Nothing else. No developer, no theme file editing, no changes to your product images.

BadgeFlow draws badges as an overlay on top of the image. Your original photos are never modified, so removing a badge is instant and leaves no trace.

Free plan. 30 products can carry a badge, for life, with the full badge library and scheduling included. No trial countdown.

1. Install BadgeFlow

Two things happen at install: the app is added to your Shopify admin, and a small block is switched on in your theme so badges can appear on the storefront. The second one is easy to forget, so the app checks it for you.

  1. Install from the Shopify App Store

    Search for BadgeFlow, then select Install. Shopify asks you to approve permission to read your products and your themes. BadgeFlow never asks for write access to your products, so it cannot change your catalogue.

  2. Turn on the theme block

    Go to Online Store → Themes → Customize → App embeds, find BadgeFlow, switch it on, and select Save. This tells your theme to load the badge script, which is under 15 KB.

    If you skip it, BadgeFlow shows a red banner at the top of the app with a direct link to the right screen.

  3. Check the setup panel

    Open BadgeFlow in your admin. The setup panel confirms three things: the theme block is on, your store timezone is correct, and your plan is active. All three green means you are ready.

Changing themes later? App embeds belong to a theme, not to the store. If you publish a new theme, switch the BadgeFlow embed on again in that theme.

2. The setup wizard

The first time you open the app, a three step wizard runs. Its only goal is to get one real badge live on your store so you can see the result before you learn anything else. It takes about two minutes.

  1. Confirm your timezone

    BadgeFlow reads the timezone from your Shopify settings and shows it to you. Every schedule you ever create is written in this timezone, so if it is wrong, fix it now in Settings → General rather than later.

  2. Pick a badge

    Choose any style from the library. You can change the text, the colour and the position afterwards, so pick quickly.

  3. Choose one product and publish

    Select a single product, then Publish now. The wizard gives you a link straight to that product page on your storefront. Open it and the badge is there.

You can delete that first campaign right after. It exists so you know the plumbing works before you spend time designing anything.

3. Create a campaign

In BadgeFlow, a badge is never a setting you leave switched on. It is a campaign: a badge, a list of products, and a start and end time. That is the whole idea of the app. You build Black Friday in September, and it runs and stops without you.

The editor is one screen with five parts, in order.

Part 1 — Choose a badge

The library has over 100 designs grouped by category:

Category Use it for
Sale and discount Percentages, fixed amounts, clearance, bundle deals
New arrival Just landed, back in stock, restocked
Holiday Chuseok, Lunar New Year, Christmas, Black Friday, Halloween, Valentine
Stock and urgency Low stock, last units, pre-order, ends soon
Shipping and trust Free shipping, bestseller, made in, guarantee
Eco and diet Vegan, cruelty free, organic, recyclable

Each category carries the same five shapes: pill, rectangle, ribbon, circle and corner banner. Pick the shape that suits your photography. Corner banners suit busy lifestyle photos; pills suit clean white backgrounds.

Part 2 — Write the text

Every badge is editable: the words, the font size, the font family, the text colour and the background colour. Keep it short. Three words is usually the limit before a badge starts to cover the product.

You can also drop in values that BadgeFlow fills in per product, so one campaign covers a whole collection with different numbers:

Variable Becomes
{discount_percent} The discount on that product, worked out from compare-at price
{inventory_qty} The units left for that product
{countdown} Time remaining until the campaign ends

So SALE -{discount_percent}% on a collection of 48 products shows the correct figure on each one.

Part 3 — Size and position

Pick one of nine anchor points on the image, then nudge it with a pixel offset if it sits on top of something important. The size slider is a percentage of the image width, so the badge stays proportional on every screen.

Desktop and mobile are set separately. A badge that reads well on a large grid is often too big on a phone, where product cards are half the width. Set desktop first, then switch the preview to mobile and reduce the size. The preview uses a real product from your store, not a stock photo.

Part 4 — Choose the products

Three ways to target:

  • Individual products. Use the picker and search. Best for a handful of items.
  • Collections. Best for seasonal work. A collection stays dynamic, so any product you add to it later picks up the badge automatically while the campaign runs.
  • All products. Useful for store-wide messages like free shipping.

The count of affected products is shown before you save. This number is exactly what your plan meters, so there is never a surprise.

Part 5 — Set the schedule

Enter a start date and time and an end date and time, both in your store timezone. Leave the end empty for a badge that runs until you stop it.

The campaign then moves through four states on its own:

State Meaning
Draft Saved, nothing on the storefront. Safe place to build.
Scheduled Finished and waiting. It will start by itself at the minute you set.
Live Shoppers can see it right now.
Ended Past its end time. Kept in your list so you can duplicate it next year.
Why schedules are exact. The storefront checks the clock in the shopper's browser against your start and end times, so a campaign flips at the exact minute even during a traffic spike. Nothing waits on a server job.

Select Save campaign. If the start time is in the future it saves as Scheduled. If the start time has passed it goes Live immediately.

4. What shoppers see

Badges appear on collection pages, product pages, search results and the home page, anywhere your theme shows a product card.

SALE -30%
Ginseng CreamEUR 32.90
NEW
Snail EssenceEUR 19.90
CHUSEOK FREE SHIP
Gift Box HanbokEUR 49.00
Sheet Mask x10EUR 12.90

The badge is drawn over the image, not baked into it, so your page never jumps while it loads and your product photos stay untouched. If you pause a campaign, the badge is gone on the next page load.

5. Manage live campaigns

The campaigns screen lists everything by state, and a calendar view shows what is coming so two promotions do not collide.

Action What it does
Pause Removes the badge from the storefront and keeps the campaign and its settings. Resume puts it back.
End now Sets the end time to this minute. The campaign moves to Ended.
Duplicate Copies everything into a new draft. This is how you rerun last year's Chuseok campaign in one minute.
Edit while live Allowed. Change text, colour or position and save. Shoppers see the change within about a minute.
Delete Removes the campaign permanently. The products are freed from your plan count straight away.

Editing a live campaign takes up to a minute to reach every shopper because the configuration is cached for speed. If you need something gone instantly, use Pause.

6. Upload your own badge

If you have your own artwork, an award logo or a brand sticker, upload it and use it exactly like a library badge, with the same position, size and schedule controls.

  • Formats: PNG, SVG or WebP. Maximum 500 KB.
  • Use a transparent background. A white rectangle around your badge will be visible on the photo.
  • For PNG, export at twice the size you plan to display so it stays sharp on high resolution screens. SVG scales on its own and is the better choice when you have it.
  • Uploaded badges cannot use the text variables, because the text is part of your image.

7. Several badges at once

A product can carry up to three badges. Useful combinations are a discount badge top left, a trust badge bottom right, and a holiday badge in a corner.

  • Badges anchored to the same corner stack in order rather than overlapping.
  • When two campaigns target the same product, the one with the higher priority is drawn first. Set priority on each campaign.
  • If three badges are already showing, a fourth campaign will not display on that product. The campaigns list flags this so you can see why.
Three badges is a hard limit on purpose. Past that, product cards become hard to read and conversion falls rather than rises.

8. Plans and the product limit

One number decides your plan: how many distinct products currently carry a badge. Not campaigns, not badge styles, not views. A product in three campaigns still counts once.

Free

$0
  • 30 products with badges
  • Full badge library and custom upload
  • Scheduling included
  • One live campaign at a time
  • Community support

Premium

$4.99 /month
  • 150 products with badges
  • Unlimited campaigns running together
  • Multi-badge and priority rules
  • Your own AI key and MCP
  • Email support

Unlimited

$9.99 /month
  • Unlimited products
  • Everything in Premium
  • Future pro features included
  • Priority support

Annual

2 months free
  • $49.90 or $99.90 per year
  • Billed through Shopify with your normal invoice
  • Switch plans or cancel any time

When a campaign would take you past your limit, the product picker says so before you save and offers the upgrade. Nothing is ever switched off behind your back, and existing live badges keep running while you decide.

Billing runs through Shopify, so there is no card to enter in BadgeFlow and no revenue share on your sales.

9. Connect your own AI

On paid plans you can connect your own Claude or OpenAI account and describe campaigns in plain language instead of building them by hand. Other apps sell you a small number of AI credits each month. BadgeFlow does the opposite: you bring your own key, you pay your provider directly at their rates, and there is no monthly credit ceiling.

  1. Create an API key

    For Claude, sign in at console.anthropic.com and create a key. For OpenAI, use platform.openai.com. Copy it once, because these consoles only show a key at creation.

  2. Paste it into BadgeFlow

    Open Settings → AI, pick your provider, paste the key, then select Test connection. A green Connected means it works. The key is encrypted, shown masked from then on, and never written to a log.

  3. Ask for a campaign

    Open the AI assistant and describe what you want, for example: "Put a Black Friday badge on my 50 best sellers, -25%, from Nov 27 to Nov 30."

    The assistant reads your catalogue, picks the products and builds a campaign draft.

  4. Review, adjust, publish

    You see the whole draft: badge, colour, position, the exact product list and the dates. Keep talking to adjust it, for example "make it orange and exclude gift cards". Nothing reaches your storefront until you select Publish yourself.

The assistant can never publish on its own. It creates drafts and edits drafts. Going live is always a human action, so a misread instruction costs you a click, not a bad promotion on your live store.

Prompts that work well

  • "Badge everything in the Chuseok Gift Sets collection with a gold holiday badge, Sep 20 to Oct 6."
  • "Which products are under 5 units? Put a low stock badge on them until they run out."
  • "Add NEW badges to everything published in the last 14 days, and end them after 30 days."
  • "Copy my last Black Friday campaign to this year's dates and change the discount to 30%."

If your key stops working, expires or runs out of credit, only the assistant stops. Every campaign keeps running and the rest of the app behaves normally.

10. Drive it from Claude or ChatGPT

BadgeFlow can also be added as a connector to Claude or ChatGPT, so you manage badges inside the chat you already use. No other badge app on the Shopify App Store does this.

  1. Copy your endpoint and token

    In Settings → AI, find the MCP section. Copy the endpoint and generate a token. The token belongs to your store alone.

  2. Add it as a connector

    In Claude or ChatGPT, open the connector settings, add a custom connector, paste the endpoint and the token.

  3. Talk to your store

    Ask things like "what badge campaigns are running on my store?" or "pause the low stock campaign". The reply comes back from your real BadgeFlow data.

What the connector can do:

Tool What it does
list_campaigns Shows every campaign and its state
create_campaign Builds a new campaign as a draft
update_campaign Changes badge, targets or dates
pause_campaign Takes a badge off the storefront
list_badge_styles Lists the library so you can name a style
preview Returns an image of the badge on a product

Revoke the token any time from the same screen. The connector stops working immediately and your campaigns are unaffected.

11. Fix a display problem

Work through these in order. Most reports are one of the first two.

Problem Check
No badge anywhere The theme block is off. Online Store → Themes → Customize → App embeds → BadgeFlow → on → Save. This resets when you publish a new theme.
No badge on some pages The campaign may be Scheduled rather than Live, or your start time is in a different timezone than you assumed. Open the campaign and read the state chip.
Badge in the wrong place Some themes crop product images differently on collection pages. Adjust the pixel offset, and set mobile separately from desktop.
Badge on the wrong products Open the campaign targets and read the product count. If you targeted a collection, check what is in that collection now, since collections change.
Badge still showing after the end time Refresh once. Configuration is cached for up to a minute for speed.
Badge overlaps the product Reduce the size slider and move to a corner with empty space. Corner banner shapes cover less of the product than pills.

If none of that fixes it, use Report a display issue inside the app. It sends us your theme name and the campaign so we can reproduce it. We aim to ship a fix within 48 hours and add a rule for that theme so it never happens to anyone else.

12. Questions

Does this change my product images?

No. Badges are drawn on top of the image in the browser. Your files in Shopify are never edited, so removing a badge restores the original instantly.

Will it slow down my store?

The script is under 15 KB and the campaign configuration is served from a cache, so the shopper's page never waits on our servers. Badges are positioned over the image and reserve no extra space, so nothing on the page shifts while it loads.

Do I need a developer or theme edits?

No. Installing switches on a standard Shopify app block. No theme file is modified, and uninstalling leaves nothing behind.

What happens to my badges if I uninstall?

They stop showing at once. Your campaigns are kept for 30 days in case you reinstall, then deleted.

Is the free plan really free?

Yes, for life, with the full badge library and scheduling. The only limit is 30 products carrying a badge at one time and one live campaign.

What does the AI cost?

Nothing extra from us. You connect your own Claude or OpenAI key and pay your provider for what you use, usually a few cents per campaign. You can use the whole app without connecting a key.

Can the AI publish something without asking me?

No. It can only create and edit drafts. Publishing is always a button you press.

Does it work in my language?

Badge text is whatever you type, in any language your font supports. The admin is in English for now.

Can I show a badge only when a product is on sale?

Use {discount_percent} so the figure is correct per product. Automatic conditions such as stock level and price range arrive after launch.

13. Get support

Email team@mpctrades.com. Paid plans get a reply the same working day. Free plan questions are answered too, just not as fast.

For anything that looks wrong on your storefront, use Report a display issue in the app instead of email. It carries the details we need, so we skip the back and forth.