PriceToolKit is a Shopify app I'm building that tracks your competitors' prices on a schedule, alerts you when they change, and can reprice your products within limits you set: never below your cost or a floor price you choose. It's for small and mid-size stores that sell products other stores also sell.
What problem does it solve?
If you sell products that other stores also sell, price is part of the conversation whether you like it or not. Most small stores handle this in one of three ways:
- Someone opens competitor tabs every morning and checks by hand.
- Nobody checks, and you find out you're 15% more expensive when sales drop.
- You pay for an enterprise price-intelligence tool built for brands with a pricing team.
None of these work well for a store doing 50 orders a day.
What does PriceToolKit do?
- Track. Add competitor product URLs against your own products. The app checks them on a schedule.
- Alert. When a competitor drops (or raises) their price, you hear about it.
- Reprice (optional). Set rules like "stay 2% under competitor X, but never below my floor price", and let the app update your Shopify price within those guardrails.
The guardrails matter more than the automation. A pricing app that can race your margins to zero is worse than no app at all.
What am I building first?
Tracking and alerts come first. Automatic repricing comes later, and it will always be opt-in, per product, with a hard floor.
How does it match your products to competitors' products?
Matching is the hard part of any price tracker, and it's where most of them quietly go wrong. PriceToolKit works at the variant level, not the product level, because a competitor's "Serum 30ml" and "Serum 50ml" are different prices and you need to compare like with like.
You add a competitor URL against one of your variants, either one at a time or by CSV import for a whole catalogue. Where the competitor runs on Shopify, the app reads the price straight from the store's own product data, which is the most reliable source there is. Where they don't, it reads the structured data most retailers already publish for Google, and only falls back to reading the page itself when neither exists.
When a competitor page stops resolving or stops showing a price, the link is marked broken after three failed checks in a row, and the app searches that retailer for the product again, by barcode where your variant has one. A confident match replaces the link; an unsure one is queued for you to confirm. A tracker that silently keeps using a dead link is worse than one that admits it.
How often does it check prices?
On a schedule you choose, several times a day. More often isn't automatically better: prices on most stores change a few times a week, not a few times an hour, and hammering a competitor's site is a good way to get blocked. The app spaces checks out, retries blocked pages later rather than abandoning them, and never prices off data that's only half refreshed.
Who is it for, and who isn't it for?
It's for stores that sell products other stores also sell: electronics, beauty, supplements, parts, anything with a barcode and a few competitors a shopper can compare in two tabs. It's not for stores selling unique or handmade products, where there's nothing to compare against, and it's not a way around a brand's minimum advertised price policy. If a supplier sets a floor, that floor goes into the rule.
Why build it in public?
Because the decisions are the interesting part: what to scrape, how often, how to match products across stores, and what to do when a competitor's page changes. I'll share those here every week, including the mistakes.
Question for store owners: would you trust an app to change your prices automatically, or would you only want the alert? I'd genuinely like to know. Message me.
Want to try it when it's ready? Join the PriceToolKit waitlist.
