Plans and pricing
TT Badges & Product Labels offers Free and Pro plans (no enterprise tier). For full pricing, see the Shopify App Store page.
Upgrade entry: Settings → Plan & billing → “Manage plan in Shopify” → jumps to Shopify billing page.
Full comparison
Section titled “Full comparison”| Feature | Free | Pro |
|---|---|---|
| 11 component types | ✅ | ✅ |
| 7 placement cards (incl. Custom Position / Floating / Label) | ✅ | ✅ |
| 4 built-in color schemes (plain-color / plain-mono / brand-on-white / brand-fill) | ✅ | ✅ |
| Theme-derived color bundles | ✅ | ✅ |
| Multi-language translation (per shop’s enabled locales) | ✅ | ✅ |
| Unlimited widget creation | ✅ | ✅ |
| Stats data retention | Last 90 days | Last 90 days |
| Customer support | ||
8 visibility dimensions, on / off toggle (pages / products / variants / customers / geo / device / schedule / traffic) | ✅ | ✅ |
pages types (home / product / collection / cart / search / blog / …) | ✅ | ✅ |
device types / mobile OS / desktop OS | ✅ | ✅ |
customers.authState (logged-in / guest binary) | ✅ | ✅ |
products.byProduct — specific products | demo: max 5 | unlimited |
products other filters (byTag / byCollection / byVendor / byType / byCompareAtPrice / byDiscountPercent / byInventory / byNewArrival / byPrice / byMetafield) | ❌ | ✅ |
variants sub-field filtering (bySpecific / byPrice / byInventory / byOption / byMetafield) | ❌ | ✅ |
customers advanced filters (byTag / byLifetimeSpent / byOrderCount / visitorKind / byLocale) | ❌ | ✅ |
geo country / region | ❌ | ✅ |
schedule start / end / timezone / recurring | ❌ | ✅ |
traffic UTM / referrer / visitor source | ❌ | ✅ |
device.uaRegex | ❌ | ✅ |
| Hide theme elements (render-layer override) | ❌ | ✅ |
| Advanced CSS (per-widget custom CSS) | ❌ | ✅ |
Note:
placement(where the widget mounts) and “Hide theme elements” are not visibility dimensions — placement is a top-level setting, hide-theme-elements is render-layer meta. The visibility evaluator runs the 8 dimensions listed above.
Demo quota mechanism
Section titled “Demo quota mechanism”Free shops can preview a small subset of Pro behavior in demo mode:
visibility.products.byProduct.include— pick up to 5 specific products (MAX_FREE_PRODUCTS).visibility.customers.authState— toggle logged-in / guest (binary, no quota).
When byProduct exceeds 5, the editor surfaces “Free quota used up (5 max). Upgrade to Pro for unlimited” + Pro upgrade CTA.
Note: contrary to a common misreading, byCollection and variants.* do not have demo quotas — they are entirely Pro-gated.
Detailed mechanism: Billing tier.
Save-then-upgrade flow
Section titled “Save-then-upgrade flow”Merchants can configure Pro fields in Free mode (editor allows). On save, behavior depends on whether quota is exceeded:
- Within quota → normal save
- Exceeds quota → “Save then upgrade — widget takes effect immediately” prompt
- Choose “Upgrade” → Shopify billing → upgrade complete → widget renders with full Pro fields
- Choose “Skip” → demoted to Free quota, excess fields stripped
Plan switch behavior
Section titled “Plan switch behavior”| Switch | Behavior |
|---|---|
| Free → Pro | Takes effect immediately; previously-stripped fields in editor_state_json may be recovered |
| Pro → Free | Downgrade at end of current billing cycle; Pro fields no longer effective on storefront, but D1 retains them |