Skip to content

Blog

Latest news

Announcement Banners, Coupons & Countdown

How do announcement banners work with coupons? You can add a coupon code directly in the banner so shoppers see the offer immediately. It keeps the promo front-and-center and makes redemption effortless. Can I show a countdown timer for a sale? Yes—add a countdown to create urgency for limited-time deals. Shoppers see how much time […]

Storage and Hosting

What counts toward storage limits? Storage includes AI-generated and user-uploaded images. How much storage does each plan include? Free 1 GB, Pro 10 GB, Ultra 50 GB. Where are images hosted? In DigitalOcean Spaces (S3 compatible) with CDN delivery for optimized images.

Plans and Billing

What plans are available? Free, Pro, and Ultra. What are the prices? In code: Pro $15/month and Ultra $40/month (USD). How do I upgrade or downgrade? From the Settings section inside the app. What happens if I downgrade? Features are restricted based on plan (analytics, scheduling, styles, etc.).

Banner Scheduling

Can I schedule start and end dates? Yes. Scheduling is enabled on Pro and Ultra plans. Can I pause or disable a banner? Yes. You can change its status to activate/deactivate as needed. Can I keep multiple banners active and rotate them? Yes. Multiple banners can be active, and you can choose layout options (including […]

Analytics

What metrics are tracked? Views, clicks, and CTR per banner. How are events recorded? The frontend posts events to /apps/bainners/track via sendBeacon or fetch. How much history is available? Depends on plan: 7 days (Free), 30 days (Pro), 90 days (Ultra), per plan logic in code. Is analytics available on Free? No. Analytics is available […]

Publishing and Theme Editor

How do I publish a banner in my store? Use the Theme Editor or embed a snippet with the banner ID. Do you have a snippet example? Example (from repo): (function () { var banners = document.querySelectorAll('bainners-banner[data-banner-id]'); banners.forEach(function (el) { var id = el.getAttribute('data-banner-id'); fetch('/apps/bainners/banner?banner_id=' + encodeURIComponent(id)) .then(function (res) { return res.text(); }) .then(function (html) […]

Image Management

Can I upload my own images? Yes. Images are uploaded, optimized, and stored in APP CDN delivery. Can I use Shopify product images? Yes. The app can use Shopify product image URLs without uploading to CDN. What formats does the app deliver? Images are optimized and can be delivery in png format.

AI Image Generation

How does AI generation work? The app uses Nano Banana Pro to generate the images. Can I use a product as a reference? Yes. You can pass product context and reference images to guide the generation. Can I control style and composition? Yes. You can use defined style presets, composition settings, and colors. Are there […]