Soul CandlesE-commerce · SEO · Campaigns · 2026

Portfolio / E-commerce + campaign system

45 handmade pieces, one conversation.

Soul Candles makes soy candles, wax flowers and event favors in Medellín, Colombia. It sold the way most handmade brands here sell: photos on Instagram, prices over chat, and a catalog that lived in the head of whoever answered. We built the store that puts order to that — a page per product, configurable color and scent, automatic wholesale pricing — and left it closing where the customer already was: on WhatsApp, with the order already written.

Client
Soul Candles
Sector
Handmade candles · Colombia
Scope
E-commerce, SEO, content and paid media
Role
Ongoing digital partner
Year
2026
Two hands cupping a lit soy candle by a window at dusk.

01The client

Candles that get given, not sold.

What Soul Candles actually sells is the gesture of giving something to someone: a candle in the scent that person wears, in their color, with a line written across it. That is where the three lines come from — scented, decorative, and favors for weddings, christenings and baby showers — and it is also the commercial constraint: almost no order closes before color, scent, quantity and message are decided.

A flat catalog does not solve that. Neither does an off-the-shelf store, which puts a buy button where a decision belongs. The brief was to build what sits in between — a site that settles everything before the first message — and then keep it alive with SEO, content and campaigns.

Published catalog

  • 019 scented candles
  • 0213 decorative candles
  • 0323 event favors
  • 045 scent families
  • 05Color choice with swatches
  • 06Custom message
  • 07Special arrangement and packaging
  • 0810% wholesale from 12 units

Our role

We are the ongoing digital partner: site and catalog, SEO architecture, content, measurement and the seasonal campaign system. The work did not end at launch — it started there.

02Before building

What already worked, what was leaking.

The project opened with market research and a full SEO/GEO/AEO architecture: category size and growth (~4.1% a year projected through 2034), the Colombian competitive set brand by brand, and how this buyer discovers and reorders. What we found set the order of everything else.

Works — keep it

Discovery happens at craft fairs and on Instagram; closing happens on WhatsApp. That is not a limitation of the channel — it is how this market buys. The site was designed to feed that conversation, not to replace it.

Leaks — fix it

With no page per product there is nothing to rank, nothing to advertise and nothing to send over chat. Prices were retyped in every conversation, the wholesale discount depended on who was answering, and even the product weight appeared differently from one channel to the next.

Missing — build it

No Colombian candle brand owned the search intersection of handmade, wellbeing and considered gifting. The window was open and time-sensitive: sitemap, intent clusters, heading hierarchy and metadata templates were written before the first line of code.

03The idea

The concept everything else answers to.

The conversation is the checkout.

WhatsApp is not this store's fallback — it is where the sale closes. So the site's job is not to process a payment; it is to make that message arrive complete: product, quantity, color, scent, personalization, special arrangement, estimated total, and the discount already applied.

Whoever answers stops quoting and starts confirming. Whoever buys stops asking for prices and starts deciding details. Every block was measured against that: if a screen does not move that conversation closer, it does not ship.

DiscoverPersonalizeClose

04The flow

Three steps, no spare friction.

01 · Discover

You enter by occasion, not by warehouse.

The home page shows the three doors in — scented, decorative, favors — and a short curated set. The full shop lives on its own page, with category filters written into the URL: the link someone pastes into a chat opens exactly what they were looking at.

02 · Personalize

Color, scent, message, quantity.

Each product page configures the piece: color swatches, scents grouped by family, a custom message and a special arrangement. The subtotal recalculates live and the 10% wholesale rate applies itself at 12 units — unasked for, unnegotiated, independent of who is on the other side.

03 · Close

The order arrives already written.

The cart collects several references and exits as a structured message: product URL, quantity, color, scent, personalization, arrangement and estimated total. Events and large orders get their own quote flow, with a confirmation page and a lead event of its own.

05Scope

The system in numbers.

The whole site is compiled before it is published: every product, article and seasonal landing exists as HTML served from ordinary hosting, with no application server to keep alive.

45
Products with their own page
120
Prerendered pages
12
Units for the 10% wholesale rate
2
Languages with hreflang and alternates

06The brand

The logotype comes with the brand. The system decides where it lives.

Soul Candles logotypeSoul Candles logotype

One lockup, two versions

“Soul” in a high-contrast italic, “Candles” in a heavy grotesque. It is a horizontal logotype with no separate mark, so the only approved variation is one of value: ink on light, white on dark. Both ship as PNGs with real transparency.

Where it appears

Fixed nav, footer, favicon, Open Graph, and the product cards people share over chat. The nav takes the ink version; the footer and anything over photography take the white one.

Clear space

Minimum air on all four sides equals the height of the “S”, and the logotype never sits on detail: either flat color, or a masked region of the photograph.

Approved grounds

01 · Base
02 · Ink
03 · Wax
04 · Favicon
Correct

Use the version that contrasts

Ink on light, white on dark. That is the only decision to make.

Incorrect

Do not recolor it

Brand color enters through the photographed product, never through the logotype.

Incorrect

Do not stretch it

The relationship between the italic and the grotesque is fixed. Always scale from a corner.

Incorrect

Do not drop it onto a photo

Over photography it goes in white, on a masked area — not across the detail.

Incorrect

Do not shrink it past “Candles”

If the word stops reading, the logotype has stopped working: size it up or use another asset.

07Color

The interface brings no color. The product does.

Base

Primary surface

HEX
#FFFFFF
RGB
255 · 255 · 255
Deep base

Bands and cards

HEX
#F5F5F5
RGB
245 · 245 · 245
Ink

Text · Contrast

HEX
#0A0A0A
RGB
10 · 10 · 10
Mid grey

Secondary text

HEX
#6B6B6B
RGB
107 · 107 · 107
Wax

Editorial accent · from the photo

HEX
#8A5A3A
RGB
138 · 90 · 58

08Typography

One family, three registers.

Display · Hero

Amulya · 850

Aa Bb Cc — 0123456789

Variable 300–900 · used at 850

Text · Reading

Amulya · 400

Aa Bb Cc — 0123456789

Variable 300–900 · used at 400

Label · Small caps

Amulya · 650

Aa Bb Cc — 0123456789

Variable 300–900 · used at 650

H1

Gifts that feel made for someone.

clamp(44–88) · -3% · 850
H2

Come in by occasion, not by noise.

clamp(32–56) · -2% · 780 UP
H3

Four ways to give light.

clamp(24–34) · -1% · 780
Lead

Scented pieces, wax flowers and personalized details for giving with intent.

20 / 32 · 0 · 400
Body

The WhatsApp message carries product, quantity, color, scent, personalization, special arrangement and the wholesale discount when it applies.

17 / 27 · 0 · 400
Label

Wholesale from 12 units

12 / 16 · 12% · 650 UP

09Voice and content

Like telling a friend. Never like selling.

01

Close

Second person, sentences someone would say out loud. If the person packing the candle would not say it, it does not ship.

02

Concrete

Soy wax, 150 g, wooden wick, delivered in so many days. Facts outsell adjectives.

03

Sensory, in moderation

A scent is described by what it brings to mind, not by a note list nobody recognizes.

04

Unevenly paced

A hard rule for TikTok scripts read by synthetic voice: vary sentence length, use natural connectors. Parallel structures make the read sing-song.

Like this

It arrives ready to hand over: wrapped in tissue paper, with your message across the top.

Not like this

Experience a unique and unparalleled sensory journey with our premium highest-quality products.

Like this

150 g of soy wax. A concrete vessel. A dropper of fragrance so you can refill it when it runs out.

Not like this

An innovative aromatic solution designed to transform and enhance every space in your home.

10Below the surface

What holds the store up when nobody is looking.

Technical SEO

Every URL states what it is.

Per-route metadata, canonicals, ES/EN alternates, Open Graph and Twitter cards, robots, and a sitemap index with one file per type — pages, products, blog and English. Structured data for the catalog, products, breadcrumbs, FAQs and seasonal landings.

Measurement

The KPI is intent sent.

GA4 and Tag Manager are installed, with a lead event fired when someone generates a quote. The Google Ads conversion is wired and waiting for its tag; Meta Pixel and the Conversions API are the next step to close the loop on paid media.

Performance and deploy

Compile, verify, publish.

Critical font preloaded, preconnect to analytics, heavy visual pieces loaded lazily, and a full static export. Deployment runs as a single command: build, artifact verification, permissions, and a push to the branch the host watches.

11What keeps growing

The Colombian calendar, built once.

A gifting brand lives on dates. The expensive mistake is rebuilding the store for each one: new landing, new URL, duplicated product pages, and every bit of ranking starting over each September. Here a season is configuration, not construction.

Each campaign gets an evergreen URL reused year after year, featured products that point at the pages that already exist, gift guides grouped by price range, a shipping cut-off date, its own FAQs and its own structured data. The visual atmosphere shifts through CSS tokens switched on by season: the site repaints without being rebuilt.

On the commercial side the catalog ships labelled for advertising — season, margin, price, priority and type — using the custom labels in Google Merchant Center and the Meta catalog, with campaign naming conventions and UTMs defined. Amor y Amistad, Colombia's September friendship-and-love date, opened the system with Standard Shopping and Search on Google and manual campaigns with dynamic product ads on Meta.

Dates in the system

  • 01Amor y Amistad
  • 02Velitas and Christmas
  • 03Mother's Day
  • 04Father's Day
  • 05Women's Day
  • 06Halloween
  • 07Black Friday and CyberLunes
  • 08Valentine's Day

Running now

Amor y Amistad runs as a six-week plan with ROAS, CPA and CTR compared year over year. Día de las Velitas and Christmas is next to be built: it is the date with the strongest fit for a candle brand, and the system is already in place to receive it.

12The system applied

From product page to gift.

The work continues

A store is not a catalog with prices on it.

It is the shortest path between someone who wants to give something and someone who can make it. If your brand already sells over chat and the site is not helping that conversation, this is exactly what we build.

Tell us about your project