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.
-
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.
-
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.
-
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.
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.
-
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.
-
Pick a badge
Choose any style from the library. You can change the text, the colour and the position afterwards, so pick quickly.
-
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. |
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.
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.
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
- 30 products with badges
- Full badge library and custom upload
- Scheduling included
- One live campaign at a time
- Community support
Premium
- 150 products with badges
- Unlimited campaigns running together
- Multi-badge and priority rules
- Your own AI key and MCP
- Email support
Unlimited
- Unlimited products
- Everything in Premium
- Future pro features included
- Priority support
Annual
- $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.
-
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.
-
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.
-
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.
-
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.
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.
-
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.
-
Add it as a connector
In Claude or ChatGPT, open the connector settings, add a custom connector, paste the endpoint and the token.
-
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.