ABAR
Templates & Cheat Sheets

Copy-ready templates.

Every template on this page is free, no email required. Copy the text, tweak the columns to your catalog, ship it. Built for real merchant workflows.

Bulk Edit Planning Sheet
A one-page plan every non-trivial bulk edit should have before you touch the Shopify admin.
Price Change Log Template
A running log of every intentional catalog-wide price change.
Product CSV Starter Template
A Shopify-schema CSV with only the columns you should touch, sensible sample rows and inline notes about the traps that eat merchants alive.
SEO Title & Description Formulas
Battle-tested formulas for product, variant and collection SEO titles and meta descriptions.

Bulk Edit Planning Sheet

A one-page plan every non-trivial bulk edit should have before you touch the Shopify admin. Forces you to answer the questions that turn edits into incidents when skipped.

When to use: Use for any bulk edit touching more than ~50 products or any change to prices, status or taxable.

Columns

Job name
Human-readable, dated. e.g. 'Summer SS26 price refresh — 2026-07-15'.
Scope
The exact filter — collection, vendor, tag, status. Copy the filter URL.
Transform
What changes. One transform per row; document rounding rules.
Safety limits
Price floor, price ceiling, max % change, max rows.
Expected row count
Approximate. Preview row count must match ±5%.
Owner
The person clicking Apply — not the person requesting the change.
Reviewer
A second pair of eyes on the preview before apply.
Rollback plan
Snapshot ID, undo window, communication plan if reverted.
Comms
Who is informed (ops, marketing, ads, feed manager) and when.

Markdown

# Bulk Edit Planning Sheet

| Field | Value |
|---|---|
| Job name |  |
| Date / time (store TZ) |  |
| Scope (filter URL) |  |
| Transform |  |
| Rounding rule |  |
| Safety limits |  |
| Expected rows |  |
| Owner |  |
| Reviewer |  |
| Rollback plan |  |
| Comms sent to |  |
| Notes |  |
Free to use. No email required. Attribution appreciated but not required.

Price Change Log Template

A running log of every intentional catalog-wide price change. Required for EU Omnibus compliance (30-day reference price) and invaluable for tracing 'why did this SKU jump'.

When to use: Fill in one row every time any bulk price transform is applied.

Columns

Date (store TZ)
ISO 8601. Timestamp in the store's timezone.
Scope
Filter or collection URL.
Direction
Increase / Decrease / Sale / Restore.
Rule
e.g. '+8%, round to .99, floor $5'.
Row count
Preview and applied row counts (should match).
Snapshot ID
From ABAR Bulk Edit — needed for rollback and audit.
Owner
Person who applied the change.
EU Omnibus impact
Does this reset the 30-day reference for affected SKUs? Y/N.

CSV

date,scope,direction,rule,rows_previewed,rows_applied,snapshot_id,owner,omnibus_impact,notes
2026-07-15T09:00,collection:/summer,Increase,"+8%, round .99, floor 5.00",312,312,snap_a1b2c3,ops@,No,Annual refresh
2026-07-20T18:00,vendor:ACME,Sale,"-20%, compare-at = pre-sale price",84,84,snap_d4e5f6,marketing@,Yes,BF preview sale
2026-07-25T09:00,vendor:ACME,Restore,restore snap_d4e5f6,84,84,-,ops@,-,Post-sale restore
Free to use. No email required. Attribution appreciated but not required.

Product CSV Starter Template

A Shopify-schema CSV with only the columns you should touch, sensible sample rows and inline notes about the traps that eat merchants alive. Use this as a starting point instead of exporting the full 40-column monster and hoping.

When to use: Use when importing new products or migrating from another platform. Do NOT use for updating existing products — export first, edit, re-import.

Columns

Handle
URL slug. Auto-generated if blank. Keep stable — changing it changes the URL.
Title
The product title. Required on the first row for each new product.
Body (HTML)
Product description. HTML allowed.
Vendor
The brand. Case matters — 'Nike' and 'nike' become two vendors.
Type
Product type. Describe the object, not the campaign.
Tags
Comma-separated. Overwrites all tags on update.
Published
TRUE / FALSE — controls Online Store visibility.
Option1 Name / Value
First variant axis, e.g. Size / Small.
Variant SKU
Internal identifier. Never reuse across variants.
Variant Price
Decimal, no currency symbol, dot as separator.
Variant Compare At Price
Blank = clear compare-at. See EU Omnibus rules.
Variant Inventory Qty
Per-location; use the Inventory export for multi-location.
Variant Taxable
TRUE / FALSE. Default TRUE.
Image Src
Public HTTPS URL. Shopify fetches and stores.
Image Alt Text
Per-image. Describe the product concretely.
SEO Title
≤ 60 chars. Blank = fallback to product title + store name.
SEO Description
120–155 chars. Blank = Google composes one.

CSV

Handle,Title,Body (HTML),Vendor,Type,Tags,Published,Option1 Name,Option1 Value,Variant SKU,Variant Price,Variant Compare At Price,Variant Inventory Qty,Variant Taxable,Image Src,Image Alt Text,SEO Title,SEO Description
example-tshirt,Example Cotton T-Shirt,<p>Soft cotton crew-neck.</p>,ACME,T-Shirt,"cotton, unisex",TRUE,Size,Small,TSH-BLK-S,19.99,24.99,42,TRUE,https://cdn.example.com/tsh-black.jpg,Black cotton crew-neck t-shirt front,Example Cotton T-Shirt — ACME,Soft cotton crew-neck t-shirt. Pre-washed for zero shrinkage.
example-tshirt,,,,,,,,Medium,TSH-BLK-M,19.99,24.99,64,TRUE,,,,
example-tshirt,,,,,,,,Large,TSH-BLK-L,19.99,24.99,58,TRUE,,,,
Free to use. No email required. Attribution appreciated but not required.

SEO Title & Description Formulas

Battle-tested formulas for product, variant and collection SEO titles and meta descriptions. Plug them into ABAR Bulk Edit as templates and generate every field at once.

When to use: Use during initial catalog SEO pass and after every rebrand.

Formulas

Product SEO title
{Title} — {PrimaryBenefit} | {StoreName}
≤ 60 chars. Front-loads the term. Falls back to {Title} | {StoreName} if benefit is empty.
Variant SEO title (large catalogs)
{Title} — {Option1} {Option2} | {StoreName}
For catalogs where variants have their own URLs. Otherwise variants share the product SEO title.
Collection SEO title
{CollectionTitle} — Shop {ProductCount}+ Options | {StoreName}
Uses live product count. Refuses to render if count = 0.
Product meta description
{OneSentenceBenefit}. {KeySpec1}, {KeySpec2}. Free shipping over {Threshold}.
Between 120 and 155 chars. Leads with benefit, ends with a trust signal.
Collection meta description
Browse {ProductCount} {CollectionTitle} from {TopVendors}. {DifferentiatorSentence}. Ships from {Region}.
Auto-fills top vendors and region. Regenerate whenever vendor mix changes materially.
Image alt text
{Vendor} {Title} — {Option1} {Option2}, {AngleWord}
{AngleWord} = front / back / detail / lifestyle, taken from image position. Never keyword-stuff.

Markdown

# SEO Formula Cheat Sheet

## Product SEO title
`{Title} — {PrimaryBenefit} | {StoreName}`  — ≤ 60 chars

## Product meta description
`{OneSentenceBenefit}. {KeySpec1}, {KeySpec2}. Free shipping over {Threshold}.`  — 120–155 chars

## Collection SEO title
`{CollectionTitle} — Shop {ProductCount}+ Options | {StoreName}`

## Image alt text
`{Vendor} {Title} — {Option1} {Option2}, {AngleWord}`
Free to use. No email required. Attribution appreciated but not required.
Doing this by hand?
ABAR Bulk Edit runs every one of these templates in-app.

Filter, preview, apply, undo. Safety limits and formulas baked in. Launching soon on the Shopify App Store — join the waitlist to be notified.

See ABAR Bulk Edit