The SpreadFront manual
Everything SpreadFront does, how it works, and when to use it. New here? The step-by-step setup guide gets you live first; this manual is the full reference.
What SpreadFront is
SpreadFront turns a Google Sheet into a complete online store. One row in your sheet is one product in your shop. There is no admin panel to learn, no page builder, no plugins: the spreadsheet you already know is the product catalog, and everything else — the storefront, the cart, orders, notifications, analytics — is handled for you.
Three principles shape every feature:
- Your data stays yours. The product sheet lives in your Google Drive. SpreadFront only reads it through a public view link and never asks for access to your Google account or files. Sign-in with Google is used purely to know who you are.
- 0% commission. Payments go directly to you, through cash on delivery or your own payment link. Your money never passes through SpreadFront.
- Fast and visible. Stores are rendered as real HTML at the network edge, with full structured data. Search engines and AI assistants can actually read your shop — most website builders can't say that.
The sheet is your catalog
How syncing works
When someone visits your store, SpreadFront serves a cached copy of your catalog. If that copy is older than about a minute, it quietly re-reads your sheet. In practice: edit the sheet, and your store updates within a minute. No publish button, no deploy step.
If you want a change visible instantly (say, you just fixed a price), open your store in the dashboard and press Refresh products from sheet now.
If Google Sheets is ever unreachable, your store does not go down: SpreadFront keeps serving the last good copy of your catalog for up to 24 hours. A hiccup on Google's side never closes your shop.
Product columns
Your sheet needs a header row; column order does not matter, and names are matched case-insensitively. Sheets made for store.link work without changes.
- Name (required): the product title. Rows without a name are skipped.
- Price (required): plain number or with a currency symbol. Both "12.90" and "12,90" work, as do "1,234.56" and "1.234,56".
- Discounted Price: a sale price. Shown big, with the regular price struck through. Must be lower than Price, otherwise it is ignored.
- Description: shown on the product page. Plain text works as-is; see "Rich descriptions" below for formatting.
- Category: products get clickable filter chips on your store's home page, one per category.
- Brand: when more than one brand exists, buyers get a brand filter.
- Tag: a small badge on the product photo ("Bestseller", "New", "-20%").
- Availability: write "Sold Out", "No" or "Hidden" to disable ordering; anything else (or empty) means available. Sold-out products stay visible but cannot be bought.
- Stock: a number; 0 marks the product sold out automatically.
- Thumbnail and Image1 to Image4: photo links, pasted as text. The thumbnail is the main photo; extra images build a gallery on the product page.
- SKU: your internal product code; shown to search engines and in the machine-readable catalog.
- SEO Title and SEO Description: override what Google shows for a product page.
- File: the name of an uploaded digital file — makes the product digital (see "Uploading files").
- Interval: write weekly, monthly or yearly to turn the product into a subscription (see "Subscriptions").
- Payment Link: this product's own pay-by-link URL (Stripe Payment Link, PayPal.me, or any provider) — see "Getting paid".
Rich descriptions
On paid plans, descriptions support simple Markdown, so a candle maker can list burn times as bullets and a gadget shop can bold the specs (on the Free plan, descriptions render as plain text with line breaks preserved):
- bold with two asterisks, italic with one
- bullet lists with "- " or "* " at line start, numbered lists with "1. "
- headings with "## " for structuring long descriptions
- links with the usual
[text](https://...)form
Plain text stays plain: if you never type a Markdown character, your description renders exactly as written, line breaks included.
Product images
Paste the image address as text into the image cells. All of these work:
- A direct image link (ends in .jpg, .png, .webp...)
- A Google Drive share link: upload photos to a Drive folder, right-click, Share, "Anyone with the link", copy link, paste. SpreadFront converts it to a fast direct link automatically. This is the recommended free option.
- A Dropbox share link (converted automatically too)
- Any photo already on your own website
One thing that cannot work: pictures inserted into sheet cells (Insert, then Image). Google does not expose inserted pictures to any external service, so always paste a link instead. Square photos around 800×800 pixels look best.
Uploading files: images and digital products
Every store has a Files & images section in its dashboard. Upload there and SpreadFront hosts the file for you (Free plan: 100 MB, paid plans more):
- Images (JPG, PNG, WebP…): after uploading, copy the link shown next to the file and paste it into your sheet's Thumbnail or Image columns. No external hosting needed.
- Digital products (paid plans; PDF, ZIP, EPUB, MP3, video…): upload the file, then write its exact file name into a File column in your sheet, on the product's row. That product is now digital.
How digital delivery works
Digital delivery is a paid-plan feature (it rides on buyer emails). Card orders deliver instantly - the moment the payment succeeds, the buyer's confirmation email includes the download links. For cash/manual orders, nothing is sent automatically at checkout — the moment you set the order's status to paid, confirmed, shipped or completed, the buyer automatically receives an email with secure download links.
Buyer lost the email, or the 7 days passed? Click ↻ Resend email next to the order - the buyer gets the same status email again with fresh download links, valid another 7 days. Links are personal to that order and expire after 7 days; if a buyer loses one, just set the status again to resend fresh links.
Use cases: an author selling an e-book, a photographer selling presets, a teacher selling worksheets — with cash-free delivery via a Stripe payment link, the whole shop runs itself.
Subscriptions
Add an Interval column to your sheet and write weekly, monthly or yearly on a product's row — that product becomes a subscription. The storefront shows its price as "€12 / month", and at checkout the buyer's card is charged automatically every period through your own Stripe account until they cancel. Renewals, failed payments and cancellations are all handled inside your Stripe dashboard; every renewal pays out to you directly with 0% SpreadFront commission.
Every renewal also lands in your dashboard as a new paid order (and counts in your store analytics), so your order history shows recurring revenue without opening Stripe.
Rules to know:
- Subscriptions require card payments to be enabled on the store (paid plans; see "Getting paid"). Cash on delivery and payment links cannot bill repeatedly - so for subscription products, card is the only payment option shown at checkout.
- One billing period per order: a buyer cannot mix a weekly and a monthly product in the same checkout — they order them separately.
- Coupons do not apply to orders containing a subscription.
- One-time products can ride along in the same order as a subscription — they are simply charged once on the first bill (shipping too).
Use cases: a weekly veggie box, a coffee-refill club, a monthly membership with a digital download attached, yearly access to a workbook collection.
Your storefront
Every store lives at yourname.spreadfront.com: a real, fast, mobile-friendly website with your products in a grid, category chips, a brand filter, full-text search, product pages with photo galleries, and a shopping cart.
Currencies & languages
53 currencies: USD, EUR, GBP, RSD, BAM, MKD, CHF, SEK, NOK, DKK, PLN, CZK, HUF, RON, BGN, TRY, UAH, GEL, INR, IDR, MYR, SGD, THB, VND, PHP, KRW, JPY, CNY, HKD, TWD, AUD, NZD, CAD, MXN, BRL, ARS, CLP, COP, PEN, ZAR, NGN, KES, GHS, EGP, MAD, DZD, AED, SAR, ILS, IRR, PKR, BDT, LKR. Prices display correctly formatted for the chosen currency, and you can switch a store's currency at any time. Note: card payments support the currencies your own Stripe account can settle; a few (e.g. IRR) work for cash-on-delivery stores only.
7 storefront languages: English, Serbian, German, Spanish, Portuguese, French, Italian - the whole buyer journey (storefront, cart, checkout, buyer emails) runs in the language you pick per store in settings (one at a time), while your product texts stay exactly as written in the sheet. On the Business plan, the storefront additionally shows a buyer-facing language switcher: you set the default, and each visitor can flip the store chrome to any of the 7 languages - a Swiss shop can genuinely serve German, French and Italian buyers at once.
Your own domain
On paid plans you can serve your store on your own domain (say shop.example.com) instead of the SpreadFront subdomain. In store settings, enter the domain, then add a CNAME record at your DNS provider:
- Name / Host: only the subdomain part - for shop.example.com enter just
shop, for www.example.com justwww(your provider appends the rest). - Target / Value:
customers.spreadfront.com
The HTTPS certificate is issued automatically within minutes and the settings page shows the live status. Once active, search engines are told your domain is the store's one true address and the old subdomain redirects to it automatically, so nothing you shared before breaks.
One DNS rule to know: a bare domain (example.com without www) cannot take a CNAME record. Use www.example.com as the store domain and add your registrar's web-forwarding from the bare domain to www - every registrar offers this.
Your own pages
On paid plans, every store can have up to 10 extra pages - About us, FAQ, shipping & returns, size guides… Create them in the dashboard ("Pages"), write the content in the same Markdown as product descriptions, and they appear as links in your storefront footer (and in your sitemap for search engines).
Analytics & pixels
On the Business plan, paste your Google Analytics ID (G-…) or Meta/Facebook Pixel ID into store settings and the snippet is injected into every storefront page - so your ad campaigns and traffic reports work exactly as on any other site. Leave the fields empty and nothing is injected. (Independent of this, your dashboard always shows SpreadFront's built-in cookieless store analytics.)
WhatsApp & Viber orders
On paid plans, enter your WhatsApp and/or Viber number in store settings (international format, digits only, e.g. 381641234567) and every buyer sees chat buttons right after ordering - on the confirmation screen for cash orders and on the thank-you page for card orders. The WhatsApp button opens your chat with the order number, items and total pre-filled; the Viber button opens your chat directly (Viber does not support pre-filled messages). Perfect for arranging delivery details where commerce lives in chat.
Look and feel
In store settings you control:
- Theme: four looks — Classic (clean and light), Noir (dark and bold), Boutique (warm cream and terracotta, lovely for crafts and food), Mono (stark black and white, great for fashion and design).
- Logo: shown in the header and used as your store's browser icon.
- Banner: a wide image across the top of the store.
- Store description: a short introduction under the header, also used for search engines.
- Currency: 53 currencies (full list under "Currencies & languages" above), and unlike some competitors you can change it any time.
- Language: the storefront's buttons, cart, checkout and buyer emails can run in English, Serbian, German, Spanish, Portuguese, French or Italian — pick per store in settings. Your product texts stay exactly as you wrote them in the sheet.
Changing your store address
You can rename your store's address (the yourshop in yourshop.spreadfront.com) any time from the store page, as long as the new name is free.
What happens to the old address depends on your plan:
- Paid plans: the old address keeps working forever as an automatic redirect to the new one. Links you have shared, QR codes on printed flyers, and your Google ranking all carry over. You can rename as often as you like; every previous address keeps redirecting.
- Free plan: the old address stops working immediately, is not redirected, and becomes available for anyone else to register. Shared links will break, so tell your customers. If you have open orders (new, confirmed or shipped), finish or cancel them first — the emails those buyers received link to the old address.
Getting paid: 0% commission
SpreadFront never sits between you and your money. Three payment modes, usable together:
- Card payments at checkout (paid plans): connect your own Stripe account in the store's settings (each store can use a different Stripe account), tick "Accept card payments" and save, and buyers pay by card on Stripe's secure page without leaving the purchase flow. The money settles directly in your Stripe account; SpreadFront never touches it and takes 0%. The order flips to paid in your dashboard automatically the moment the payment succeeds — and if the order contains digital products, the buyer's download links are emailed instantly, with no action from you.
- Cash on delivery / pickup (on by default): the order arrives with the buyer's details, you arrange payment when you hand over the goods. Perfect for local sellers, farmers' markets, neighborhood delivery.
- Per-product payment links: providers like Stripe generate a separate link per product (you create the product with its price in their dashboard and get its URL). Use links that stay valid for more than one purchase, like Stripe's product Payment Links, not single-use links that expire after the first buyer. Put each product's link in a Payment Link column in your sheet and switch on "pay online" in store settings. After ordering, the buyer gets one pay button per item, plus their order number to reference. This is also the migration path if you already have pay-by-links from another provider — paste them straight into the column. The money lands in your account; SpreadFront takes nothing and never sees card details. Note: the pay-online option only appears when every product in the buyer's cart has a link.
Use case: a jewelry maker enables both — locals pick up and pay cash, international buyers click through to her per-product Stripe links.
Important with payment links: the payment happens entirely inside Stripe/PayPal, so SpreadFront cannot know whether it succeeded. Enable customer receipts and merchant notifications in your payment provider's settings — that way both sides get an instant email from Stripe/PayPal on every successful payment, and you match it to the order number the buyer was told to mention.
Shipping fees
In settings you can define:
- Shipping fee: a flat amount added to every order.
- Free shipping above: orders whose goods total (after any coupon) reaches this amount ship free.
The cart shows buyers the running math — subtotal, shipping, total — and nudges them naturally toward the free-shipping threshold ("add one more candle and shipping is free" is one of the oldest tricks in commerce, now yours).
Shipping never applies to digital (downloadable) products: an order containing only downloads pays no shipping, and a mixed order pays shipping only because of its physical items.
Coupons
Create discount codes in the store dashboard:
- Percent off (10%) or a fixed amount off (500 RSD)
- an optional minimum order before the code applies
- an optional expiry date (the code works through the end of that day)
- an optional maximum number of uses — after that many orders, the code stops working
- activate and deactivate codes any time
Buyers type the code in the cart and see the discount immediately; the final check happens again at order time, so an expired or exhausted code can never slip through.
Use cases: a WELCOME10 code in your Instagram bio; a MAJA20 code given to an influencer with 50 maximum uses, so you can count exactly how many sales she brought; a springtime -15% that expires on the season's last day. Active coupons per store: 3 on Free, 10 on Pro, 100 on Business.
Custom checkout fields
Ask buyers for anything your business needs, right on the checkout form: up to four extra fields, each optional or required.
Use cases: a bakery asks for "Preferred delivery time" (required); a print shop asks for "Name to engrave"; a flower shop asks for "Card message". Answers appear with the order in your dashboard, in the notification email, and in the CSV export.
Orders
Where orders live
Every order is stored safely the moment it is placed and appears instantly in your dashboard, with the buyer's details, the items, and the full price breakdown (subtotal, coupon, shipping). Orders are never written into your public product sheet: buyer names and addresses are personal data and stay private.
Order statuses
Work through orders by setting their status: new → confirmed → shipped → completed (or cancelled). This is your lightweight fulfillment tracker. Card orders arrive already marked paid; you can also set an order to paid manually — handy when a bank transfer lands.
Monthly order limits count per calendar month and reset for everyone on the 1st. On paid plans the limit is shared across all your stores - a quiet store's unused orders are available to a busy one. Abandoned card checkouts (where the buyer never completed payment) do not count against your limit.
Notifications
- Push notification to your phone (all plans, free): your phone buzzes the moment an order arrives — see "The merchant app" below.
- One-click confirmation drafts (all plans): in the order list, the buyer's email address is a link. Clicking it opens a pre-written confirmation email in your mail app — order number, items, total, a thank-you — ready to edit and send from your own address. This is how free-plan merchants confirm orders.
- Automatic emails (paid plans): an email to you on every order, an automatic confirmation to the buyer (replies go to you, not to SpreadFront), and automatic status updates when you mark an order confirmed, shipped or cancelled.
- Payment receipts: if you accept payments through a Stripe or PayPal payment link, turn on customer receipts in your Stripe/PayPal settings — the payment provider then emails both you and the buyer the moment a payment succeeds, which SpreadFront itself cannot see.
CSV export
One click in the dashboard downloads all orders as a CSV for Excel or Google Sheets: numbers, dates, statuses, buyers, items, discounts, shipping, totals. Handy for bookkeeping and for your accountant.
The merchant app
Your dashboard at app.spreadfront.com is an installable app:
- On Android or desktop Chrome/Edge, click Install the SpreadFront app in the dashboard (or use the browser's install icon).
- On iPhone: open app.spreadfront.com in Safari, tap Share, then Add to Home Screen, then open the installed icon and sign in.
Once installed you get a real app icon, full-screen experience, and most importantly push notifications: tap "Enable order notifications on this device" and your phone buzzes the moment an order arrives — "New order #12 · Your Store — €49.00". You can enable this on several devices (phone and laptop, for example). On iPhone, notifications require installing first — that's an Apple rule for all web apps.
Store analytics
Each store's dashboard shows a Traffic panel with the last 30 days:
- Visits and product views (which products get looked at most)
- Added to cart and orders, so you can see where buyers drop off
- Order value and the visit-to-order conversion rate
- a daily visits chart, your most-viewed products, and your top referrers (which sites and searches send you traffic)
Two things make this analytics unusual and worth knowing:
- It is measured on the server, not with a tracking script. Your store stays fast, works with ad-blockers on, and needs no cookie banner — there are no cookies and no personal tracking. You get numbers; your buyers keep their privacy.
- Bots are filtered out. Search-engine crawlers and monitoring tools don't inflate your visit counts.
If you want your own tools as well, support for pasting your Google Analytics or Meta Pixel snippet is on the roadmap.
Bot protection at checkout
Checkout is protected by Cloudflare Turnstile, a privacy-friendly replacement for CAPTCHAs. Most buyers see at most a brief "verifying" moment — no traffic lights to click, no distorted text. What it prevents: automated junk orders that would flood your inbox and eat your monthly order quota. Every order in your dashboard was placed by a human.
Being found: SEO and AI readiness
This is where SpreadFront quietly outclasses the competition. Every store automatically ships with:
- Real HTML: your products exist on the page itself, not painted in later by JavaScript, so search engines index them reliably.
- Structured data (schema.org): each product page carries machine-readable Product and Offer markup — name, price, currency, availability, brand, shipping cost — the format Google uses for rich results (price and stock shown right in search listings). The store home page identifies itself as an OnlineStore with a product list.
- A sitemap listing every product page, regenerated automatically as your sheet changes, plus sensible page titles and descriptions (override them per product with the SEO columns).
- A machine-readable catalog at yourstore.spreadfront.com/products.json: your full product list in clean JSON. This is aimed at the near future of shopping, where AI assistants browse and compare on a buyer's behalf — your store is ready to be read by them today.
You don't configure any of this. It is simply how every SpreadFront store is built.
Privacy and security
- Your Google account: never accessed. The only thing SpreadFront reads is the public view link of your product sheet. Sign-in proves your email address, nothing more.
- Your buyers' data: names, addresses and emails live in the order database and your notification emails — never in any public place, and never sold or used for advertising.
- Payments: card details never touch SpreadFront at all; they go to your own payment provider.
- The dashboard is not indexable by search engines, and all traffic is encrypted.
Plans and limits
Free (now): 1 store, 100 products, 100 orders per month, your address at yourshop.spreadfront.com, rich descriptions, coupons (3 active), shipping fees, custom checkout fields, order dashboard with CSV export, analytics, bot protection, the merchant app with push notifications. If your sheet has more rows than your plan's product limit, the store simply shows the first ones; nothing breaks.
When an order would exceed the monthly limit, the buyer is politely asked to try later or contact you directly — nothing breaks, and the counter resets with the new month.
Pro and Business add more stores (3 / 10), bigger catalogs (1,000 / 3,000 products per store), higher order volumes, automatic email notifications, a custom domain, removal of SpreadFront branding, a multi-language storefront with buyer language switcher (Business) and priority email support. Every paid plan starts with a 14-day free trial, and even after billing starts there is a 14-day no-questions-asked refund - 28 risk-free days in total.
Who SpreadFront fits
- Makers and crafters (candles, jewelry, prints): a beautiful boutique-themed store from the sheet where you already track your products; COD locally, payment link worldwide.
- Local food sellers (bakeries, farms, honey, weekly boxes): delivery-time checkout field, shipping fee with free-above threshold, buyer's phone number on every order.
- Fashion resellers and curators: Mono theme, tags like "Last piece", stock column so sold items mark themselves out.
- Anyone leaving store.link: your existing sheet works unchanged — paste the same link and you're live, with faster pages and better search visibility.
