Positioning · voice · photography · what South Africans actually search — an alignment review for the owners. Platform decision deliberately open.
July 2026 · prepared from the brand operating system + live research
South Africa is a scam-wary market. An unexplained discount reads as a trap, and "second hand" reads as someone else's problem. The old framing filed the brand in the pawn-shop mental category — exactly where a low price is least believable.
"We Buy, We Sell, We Rock!"
…quality pre-owned and new products.
The discount must always carry its reason.
You pay less because of the box, not the product. No price ships without its reason attached.
Every item on our shelves and on our site is brand new and never owned. It is here because the box was opened, damaged in transit, put out as a demo unit, or returned unopened to a major retailer — so you pay well under retail for the product, not the packaging.
Every channel tells some version of this, and no channel weakens it. Sourcing is always generic — retailer returns, demo stock, direct imports. We never name a source retailer on a product.
Primary message: "Brand new. Never owned. Well under retail — and we'll show you why."
Untouched box, factory sealed. Includes direct imports. Sealed is shown sealed — no other claim needed.
The hero grade. Box opened or damaged; the product itself is flawless. If there is any mark, it isn't this grade.
A cosmetic mark, always disclosed with a located, photo-referenced note: "Light scratch on left panel — shown in photo 4."
Written "New – Sealed" / "New – Unboxed" / "New – Unboxed, Light Marks" — identical on shelf tickets, website, ads and feeds. What the shelf says is what the feed says. Never abbreviated, never paraphrased.
Every item powered on and checked working before shelf or site.
Honoured by us, in store — not fine print. (Value to confirm with you.)
Plain-language policy, honoured at all three stores.
Every item sits in a real Gauteng store. Walk in and inspect it.
Or collect at its home store, free.
Each proof is operational, not decorative — the stores have to actually do these things. That's what competitors quoting prices from a website can't fake.
Because they're not just off-brand — for this stock they're false. Nothing we sell was ever owned. Plus two protective rules: no blanket discount percentage is ever published (per-item compare-at pricing does that work honestly), and "unboxed" appears only inside the full grade label.
The canonical price pattern: our price leads, verified retail follows, the saving closes. The reason travels with the price.
A disclosed flaw is the reason the price is believable. Honesty is the selling point, not a buried disclaimer.
"SMEG FAB32, R3 000 under retail, box damaged in transit" — never "AMAZING DEALS!!!". A specific claim can be checked; checkable is what sells.
SA English, real store names, rand amounts written properly (R11 999). Sounds like a place you can drive to — because it is.
One rule with teeth: damage disclosure is flat and plain, zero humour. A joke near a flaw reads as hiding something.
SMEG Full Fridge – Stainless Steel
R11999,00 R9999,00
Store Location: [Rooihuiskraal,Centurion Mall@Reds]
A struck price with no reason attached — an unexplained discount still reads as a trap.
SMEG [model] Fridge — Stainless Steel, [capacity]L — New – Unboxed
R9 999 · Retail R11 999 · Save R2 000
Box opened; the fridge itself is flawless. Tested working. 6-month warranty. One available — see it at Mall@Reds or collect today.
Same two numbers the site already shows — plus the missing reason. That one line is the whole strategy.
Don't hire a photographer to shoot products — hire one once to build a booth per store and train staff to shoot at listing time, on store phones. Budget guidance R8 000–R10 000 once-off, then it's a store operation.
Fixed order: hero → front → model plate → every mark close-up, numbered → box shot only if the box is damaged. Damage notes point at photo numbers. Sealed stock is never unboxed for photos.
Marks photographed, never angled away. No filters, no retouching. The hero is always our photo of our actual item — a stock image never stands in. A grade is a claim; the photos are the evidence.
Every booth photo carries a store-name board in frame — so the photo itself proves which store the item lives in.
Category pages compete on the big deal terms; the grading story converts on-page once the searcher arrives. "New – Unboxed" is the brand label, not the SEO target — nobody types it (yet).
LOW competition, real buy-side long tail ("buy takealot returns"). Only two small SA sites target it. We are literally the answer — answered at brand level with one explainer page, never per item.
LOW competition. People asking what these words mean. Our explainer positions New – Unboxed as better than refurbished: never owned, never repaired.
Highest commercial value of any term measured. The demo-stock SERP is wall-to-wall dedicated SA businesses — Gauteng shoppers know and use this word.
| Finding | Why it matters |
|---|---|
| "Second hand", "pre-owned", "Used · Grade B" live on the site | Sells the stock short — it was never owned — and files the brand in the category where low prices are least believable. |
| Warranty disclaimed entirely | Current T&Cs say the store "cannot warrant performance". The CPA gives customers a 6-month implied warranty anyway — so we carry the obligation without earning the trust. The new brand makes the warranty a selling point instead. |
| Legal gaps: no VAT/registration number shown, GDPR-template privacy policy (no POPIA), defect-only returns vs ECTA's 7-day online cooling-off | Compliance exposure and easy credibility wins; attorney review recommended before relaunch. |
| Google Business Profiles uneven | Mall@Reds is strong (4.7★, 24 reviews). Sunnyside has zero reviews and a misspelled website link. Modderfontein has no profile at all — invisible on Maps and a hard blocker for local inventory ads later. |
Staff photograph the item in the booth, on the store phone, per the shot list.
AI reads the model plate photo — brand, model number, specs.
Current retail price looked up for the compare-at anchor. Facts, never guesses.
Listing drafted in the brand voice, grade attached, damage notes matched to mark photos.
Staff review and publish. Online in minutes, not days — one-of-each stock finally listable at scale.
Platform-independent by design: the photo contract and the brand documents are the system. It can publish to WooCommerce or Shopify equally.
One listing · one source of truth
Product page with grade badge, price pattern, damage note and home-store tag — live the moment staff hit approve.
Shopping ads, Performance Max, free listings — and local inventory per store, so "near me" searches see it on the shelf at Sunnyside.
One catalog feeding the shop tab and catalog ads, with product sets by grade, store and availability.
The same record drives the POS and the shelf ticket. What the shelf says is what the feed says — never two versions of the truth.
Staff do one thing — photograph and approve the listing. The system does the rest: every channel inherits the same grade, price-with-reason and photos, with each channel's technical condition fields mapped by rule, never by hand. One-of-each stock only works if listing it once is enough.
Builds on the current site's bones. Lower running cost, maximum customisability, no per-transaction platform fees on top of the gateway. POS integration to be scoped against till workflows at the three stores.
Working prototype already built as part of this exercise (branded storefront, grading data model, store pages). Tighter native POS/inventory/channels integration; higher monthly + transaction cost on a third-party gateway.
The point of this deck: everything before this slide — positioning, grades, proofs, voice, photography, the Lister concept — carries over unchanged to either platform. The brand decision and the platform decision are independent, and the brand one is the urgent one.
The owners have approved everything in Part 1, unchanged. What follows is the execution pack for the existing WordPress/WooCommerce site and the ads account: homepage hero, grade badges, product cards, display banners, Facebook carousel — plus the asset list and the fixes we found while preparing it.
All product photos and prices in these mockups come from the live site (fetched 2026-07-14). Nothing is stock imagery.
Retailer returns, demo units and damaged-box stock: every item tested working, graded honestly, and covered by our 6-month warranty. See it at Sunnyside, Mall@Reds or Modderfontein — or order online with free delivery over R2 000.
Mall@Reds
Copy: brand/voice.md §6 rewrite 1 — approved verbatimPhoto & R9 999 price: live listing, fetched 2026-07-14Retail anchor pair: voice.md rewrite 2Grade shown is illustrative — assigned on inspection
Every item tested working, graded honestly, 6-month warranty. Three Gauteng stores or free delivery over R2 000.
Mall@Reds
And we’ll show you why: the price drops because of the box, not the product. Tested working, graded, 6-month warranty.
Mall@Reds · Centurion
Recommendation: launch with Variant A. The dark band with the full trust strip carries most of the anti-suspicion load at the moment of rebrand; Variant B is a strong A/B test once the story has landed. Mobile keeps the H1, one CTA and one proof-carrying product card above the fold.
Storefront photo: brand/identity/ (real store)One orange CTA per view — DESIGN.md
Ink on white. Factory sealed, shown sealed. Data value stored in WooCommerce: “New – Sealed”.
Orange — the hero grade, box opened, product flawless. Data value: “New – Unboxed”.
Outlined. Never appears without its located, photo-referenced note: “Light scratch on left panel — shown in photo 4.”
| Wiring for WooCommerce | Detail |
|---|---|
| One global attribute | pa_grade with exactly three terms. Global (not per-product custom field) — that’s what the Google feed plugin can map condition from. Retire the current Condition and Grade attributes. |
| Badge rendering | CSS classes on the shop-loop and product images (top-left; store tag bottom-right). Implementation pack ready in the repo: brand/design-system/assets/badges/ — badges.css, three SVGs, README with rules. |
| The uppercase treatment | NEW · UNBOXED is a CSS display style. The stored string is always the full en-dash form — never abbreviated, paraphrased or restyled in data, titles or feeds. |
Acer Portable Monitor PM161Q 15.6″ Full HD (1920×1080) IPS 16:9 6ms 250nits HDR10 AdaptiveSync MiniHDMI 2xType-C Black
R1799,00
Condition: Used · Grade: B
Eleven specs in the title, zero reasons in the price. “Used · Grade B” is false (never owned), off the grading ladder — and banned vocabulary.
Sunnyside
Title formula: Brand + model + two selling specs + grade. Damage note flat, located, photo-numbered. Price in rand format R1 799, never R1799,00.
† The struck retail is blank on purpose: it comes from the item record, and under the new system a listing cannot publish without it. The grade, store and damage note here are illustrative — assigned at inspection.
Under R2 000 — so the card offers collection, never claims free deliveryPhoto: live listing, fetched 2026-07-14
One message per banner: the primary line plus a price that carries its reason. No starbursts, no percentages, no countdowns — the discount is explained, not shouted. Every size links to the homepage hero (message match).
Also to export: 336×280 · 160×600 · 300×600 · 970×2501200×628 for PMax / Demand GenDelivery: PNG set (HTML5 optional later)
Mall@Reds
The cover is the gradient panel from the physical storefront sign — white display type is the only text allowed on it. Right side: the real Mall@Reds shopfront, balloons and all. Profile picture: the favicon mark on the gradient. Safe zone: Facebook crops covers to ~640×312 on phones — the store names row stays inside the left two-thirds.
Same art adapts to GBP covers ×3 storesSkyscraper 160×600 follows the 300×600 layout



Card 1 states the story; then one hero-grade item, one sealed appliance, one sealed premium-brand box — the range in one swipe. The B&O photo still wears its Mall@Reds price sticker: shown sealed, exactly as it sits in the store.
Primary text 114/125 characters. Headlines 23–32/40. Card images 1080×1080. One “brand new” per surface, zero exclamation marks, scarcity stated flatly. Card 4 gets its retail anchor from the item record before launch — no price ships alone.
This is the manual launch creative. Once the feed work is in place (grade → condition, custom labels), Advantage+ catalog ads generate per-store and per-grade carousels automatically from the same product data.
| Asset | Spec / format | Status | Owner |
|---|---|---|---|
| Homepage hero | Build from Variant A (slide 19); desktop + mobile breakpoints | Mockup ready — decide A/B today | Mark (Elementor) · copy+photo from us |
| Grade badges + store tags | pa_grade attribute + CSS pack + SVGs, in repo | Ready to implement | Mark |
| Trust strip | Five proofs, icon row — sitewide under header + PDP | Copy final; icons in mockup | Mark · SVG icons from us |
| Display banner set | 300×250 · 336×280 · 728×90 · 320×50 · 300×600 · 160×600 · 970×250 + 1200×628 | Mockups today → PNG exports after sign-off | Us |
| FB carousel cards | 4× 1080×1080 PNG + copy deck (slide 25) | Mockup today | Us |
| FB page cover + profile | 820×312 cover · favicon mark on gradient as profile | Mockup today | Us |
| Google Business Profiles | Modderfontein profile creation + covers ×3 (reuse cover art) | Blocked: Modderfontein has no GBP | Karl + us |
| OG share image + favicon | 1200×630 default share card from hero art | To produce with banner exports | Us |
| Product photography | Booth per store + staff training — feeds every future asset | Approved model, scheduling | Stores · photographer once-off |
| Finding (live site, 2026-07-14) | Fix |
|---|---|
Schema declares the business a PawnShop — the structured data on every page tells Google exactly the category the rebrand exists to escape | Change the SEO plugin’s organization type to Store (or HomeGoodsStore), one per-store LocalBusiness with hours + geo to follow |
| “Condition: Used · Grade: B” on every graded product — false (never owned), off the ladder, banned vocabulary | Replace with the three-term pa_grade attribute + badges (slide 21); bulk edit existing products |
| Prices render as “R1799,00” and struck prices appear with no reason attached | Woo currency settings: space thousand separator, no decimals → R1 799; compare-at retail + grade always shown together |
| Products miscategorised — LG 9kg washing machine under “keyboard-mouses”, Bosch washer under “furniture” | Category cleanup pass. Categories drive google_product_category in the feed; if bad categories ship, they become an ads problem |
| Homepage still says “quality pre-owned” + “We Buy, We Sell, We Rock!” framing | Hero replacement (slide 19) + banned-vocabulary sweep of all page copy, menus, footer |
| Titles are spec dumps (11 specs, no grade) | Title formula: Brand + model + two selling specs + grade (slide 22); AI Lister automates this at listing time |
New – Sealed → new. Both Unboxed grades → refurbished (interim used until the warranty per grade is published on the site). An opened box is never submitted as new — Google suspends for condition misrepresentation “without prior warning”.
Compare-at = verifiable current retail at mainstream ZA retailers, never an inflated RRP. Both prices visible on the product page. No blanket “-30%” claims anywhere in ads — per-item explained pricing only.
Sold → out of stock via sync, never deleted (keeps Meta engagement history). Both platforms name a sold item still serving in ads as a policy violation — the sync isn’t optional.
| Pipe | Route on WooCommerce |
|---|---|
| Google Merchant Center | Google for WooCommerce (official, free): syncs catalog, condition mappable from the global pa_grade attribute with per-product override. Gap: no local inventory ads — closable later with CTX Feed Pro (~$119/yr), one filtered local feed per store. |
| Meta catalog + pixel | Meta for WooCommerce (official): catalog + Pixel + Conversions API in one. Reviews are rough — we verify events fire after install, with the feed-URL + separate pixel plugin as the fallback path. |
| Week | Work |
|---|---|
| 1 — Foundations | Schema type fix · banned-vocabulary sweep · pa_grade attribute + badges live · price format · category cleanup |
| 2 — Face | Homepage hero build · trust strip sitewide · product-card pattern on shop loop + PDP · title formula on top 50 sellers |
| 3 — Feeds | Google for WooCommerce onboarding · condition mapping verified in GMC · Meta catalog + pixel/CAPI verified · retail anchors entered per item |
| 4 — Air cover | Display set + FB carousel live · page cover swap · GBP covers · first weekly GMC diagnostics review |
Sequence matters: ads before the vocabulary sweep would pay to send already-sceptical shoppers to a page that confirms their scepticism. Fix the shelf, then shout.
Return within 7 days of receiving it, no reason needed, full refund. For online orders this is the law (ECTA cooling-off, delivery fee refunded too); the draft extends the same 7 days to in-store purchases so there is one promise, not two. Customer pays the return courier; bringing it to a store is free.
Repair, replacement or refund — the customer’s choice, per CPA section 56. Our 6-month warranty honours it in person at any store: no couriering to a manufacturer, no service-centre queue. Applies identically to all three grades.
The disclosed, photographed mark on a New – Unboxed, Light Marks item is not a defect — it was part of the price. Damage after purchase through misuse isn’t either. A real fault is always covered, whatever the grade.
| Decision needed | Working position in the draft |
|---|---|
| Extend the 7-day change-of-mind to in-store purchases? Law only requires it online; extending is a brand promise with a real cost | Draft assumes YES — one unified window |
| Refund processing time | 5–10 business days, original payment method; store credit only ever as the customer’s choice |
| Final gate | SA attorney review before anything is published |
The current site says the store “cannot warrant performance”. The draft replaces that with our 6-month in-store warranty on every grade — and drops the blanket “not liable for delivery delays” disclaimer, which doesn’t survive the CPA anyway.
“One available” means one. If two orders race, first completed payment wins and the other is refunded in full within 5–10 business days — never a substitute the customer didn’t choose. The retail reference price is defined: the mainstream SA retail price on the date we listed the item.
ECTA requires the registered entity name, registration number and address on the site — currently none of these appear anywhere. The grading ladder goes into the terms verbatim, so listings, shelf tickets and legal text all match.
| Needed before publication | From |
|---|---|
| Registered entity name + company registration number + VAT number — draft has [TBD] slots; cannot publish without them | Karl |
| Payment gateway confirmation (draft says Yoco; old site says SnapScan) · courier coverage for outlying areas · Modderfontein trading hours | Karl / Vincent |
| Final gate | SA attorney review |