Skip to main content

Landing-page playbook

How to structure and run a high-converting landing page for Facebook/TikTok ads in Algeria — the real section catalogue, Pixel assignment, and the missing-product gotcha that undercharges shipping.

Written by Support

This is the blueprint Algerian merchants use to consistently hit 3–8 % conversion rate from cold paid traffic. Use it as a starting template, then iterate.

Landing pages vs. product pages

DZBuild has both. They serve different purposes:

Use a product page when…

Use a landing page when…

You're selling a catalog

You're running paid ads to one product

Customers browse multiple products

Each campaign is one product, one offer

You rely on category pages

You want full creative control over the layout

SEO traffic matters

Ads are the only source

You can run both in parallel — landing pages for paid, product/category pages for SEO and direct traffic.

Plan limits

Landing pages are gated by plan:

Plan

Landing pages included

Notes

Free

0

Buy a slot for 1,000 DZD to create one landing page — see the note below.

Pro

3

3 landing pages in total, not 3 published ones.

Unlimited

unlimited

Spin up as many as you need.

Enterprise

unlimited

Same as Unlimited.

The Pro limit counts every row on /dashboard/landing-pages — drafts and AI-generated pages included. Deleting an unused draft is what frees a slot.

⚠️ Warning — What a 1,000 DZD page purchase actually buys

It buys a slot to create a new landing page while your store is on the Free plan. It can never be applied to an existing page. A page created while you were on Pro or Unlimited is permanently not a "purchased" page, so buying a slot afterwards will not bring that page back once the store is on Free — you would have to rebuild it. Purchases are approved manually.

What happens when a paid plan expires

The opposite of what most merchants expect:

  • Your landing pages keep serving on the storefront. Visibility follows your store's plan, and nothing downgrades that plan automatically on expiry.

  • You are locked out of the dashboard page. /dashboard/landing-pages redirects you to /dashboard/subscribe until you renew, so you cannot edit, create or delete anything.

Pages only go dark once the store is actually moved down to the Free plan — and at that point only pages that were created as purchased Free-plan pages stay visible.

Renewal: /dashboard/subscribe▶ How to renew in-app guide, or DZBuild YouTube.

Two ways to build a page

Build it yourself

Generate it with AI

Where

/dashboard/landing-pages → Create landing page

You get

An empty page you fill section by section

Ready-made image panels with Algerian Darija copy plus a themed order form

Cost

Free (uses a plan slot)

20 AI credits (Medium, 1 panel) or 45 (Tall, 3 panels), plus a plan slot

Language

Arabic / RTL

You choose it in the wizard

The AI generator has two prerequisites, both checked before any credits are taken — if either fails, nothing is charged:

  1. A product that already has at least one uploaded photo.

  2. A free landing-page slot on your plan.

See AI Credits for pricing, refunds and limits.

ℹ️ Info — Page language

A landing page carries its own language, independent of your store language — it also sets the text direction. Today you can only choose it in the AI-generation wizard (or through the public API). A page you build by hand in the editor is Arabic / RTL, and there is no control to change it afterwards.

Setting up a landing page

  1. Open /dashboard/landing-pagesCreate landing page. You fill in a title, a slug, an optional product and a meta description — that's the whole form.

  2. Pick the product the page sells (see the warning below — this matters for shipping).

  3. Build the page section by section. There is no template gallery: the new page is created empty and drops you straight into the section editor. Add sections one by one from the Add section picker.

  4. Customize copy, photos and colors. The editor renders the real storefront page live in the preview panel, so check the mobile layout there rather than opening the public URL. Previewing doesn't count as a page view, doesn't fire your pixels and can't create orders.

  5. Assign your campaign Pixel at /dashboard/pixels — see Pixel + tracking below.

  6. Publish.

The landing page lives at /landing/{slug} on your storefront domain (note: /landing/, not /lp/).

⚠️ Warning — Always pick a real product

A landing page with no product still charges the base per-wilaya shipping rate — shipping is not zero. What it silently loses is the weight surcharge, the Custom Product Shipping override, and the Min/Max Quantity rules. So a heavy product, or one with a per-product shipping override, gets undercharged compared to its own product page.

The product doesn't have to be set at page level: the order form, order button and product offers sections each carry their own product picker, and a section's product overrides the page-level one. Either works — but at least one must point at a real product.

The section catalogue

These are the section types you can add in the editor:

Section

What it does

Image

A single full-width image

Image carousel

A swipeable set of images

Announcement bar

A thin banner strip

Special offer

A highlighted offer block

Price display

Price with optional strikethrough and discount badge

Product offers

Quantity bundles ("buy 2", "buy 3") with per-offer free shipping

Order form

The order form itself, with a buy button

Order button

A buy button, optionally with the form attached

Free text

Rich text — use this for your FAQ

Contact button

WhatsApp / phone contact

Countdown

A countdown timer

Fake visitors

A live-viewers counter

Testimonials

Customer reviews block

Custom form

Lead capture; answers are appended to the order notes

Product offers is the main AOV lever on landing pages. Quantity bundles are priced server-side, so the total the customer sees is always the total they are charged, and an offer can carry its own free shipping. The order button can also be set to follow the offers, mapping the chosen quantity to the matching offer price automatically.

Order-form behaviour

An order form or order button has four behaviours, chosen in its settings:

  • Link-only button — no form, the button just links

  • Button + form, tap to open

  • Button + form already open — the default for new order-form sections

  • Form always open, no button — the old default

Defaults apply at creation only and are never back-filled, so older sections keep the behaviour they were created with. Note that the order summary renders below the submit button, not above it.

The 7-block structure

1. Hero (above the fold)

  • Big product photo — real, not stock. Mobile-first.

  • One-sentence headline with benefit + price ("X premium bag for 1900 DZD only — delivered everywhere").

  • CTA button — scrolls to order form. Color contrasts with the background.

2. Benefits (3–5 bullets)

Three to five benefit lines max. Use icons:

  • 🚚 Cash on delivery, all 58 wilayas

  • ⭐ 4.7/5 from 200+ customers

  • 🔄 Easy returns within 7 days

3. Product showcase

  • 4–6 lifestyle photos

  • 1 short video if you have one (15s autoplay loop, no sound)

4. How it works / What's in the box

  • 3 steps for "how it works" products

  • A list of contents for "what's in the box"

5. Reviews / testimonials

Use the Testimonials section.

  • 3–5 reviews with photos

  • Real names + locations ("Sarah, Algiers")

  • Mix of 4 and 5 stars (all-5 looks fake)

  • Source from real reviews captured by Product Reviews

6. FAQ

There is no FAQ or accordion section type — write the FAQ inside a Free text section.

  • 5–8 questions, as plain question/answer text

  • Cover: shipping cost per wilaya, return policy, delivery time, COD, sizing, warranty

7. Order form

  • Use an Order form section (or an Order button with the form attached)

  • The CTA buttons throughout the page scroll here — so if you leave the form always open with no button, there is nothing for them to scroll to

  • Required: name, phone, wilaya, qty

  • Optional: variant pickers (color/size — use the Offer Variant Popup add-on for multi-piece offers)

  • Submit order button — large, prominent, with the order summary directly beneath it

  • COD trust badge below

Copy guidelines

  • Arabic — warm, friendly, conversational. Avoid formal Modern Standard Arabic for casual products; mix in colloquial Darija for relatability.

  • French — clear and direct. Don't translate Arabic literally; rewrite for French sensibility.

  • Avoid superlatives"the best ever", "world-class". Algerian buyers are sophisticated; superlatives signal "marketing speak."

Pricing tactics

Tactic

When to use

Strikethrough was/now

High-perceived-value items

Bundle pricing

Cross-sell ("Buy 2 + 1 free")

Free shipping for offers ≥ X DZD

High-AOV products

Plain price

Premium products, simplicity

Pixel + tracking

Install Facebook Pixel + CAPI first. The events themselves are automatic — there is nothing to configure on the landing page:

Event

When it fires

ViewContent

On page load

Purchase (Meta) / CompletePayment (TikTok)

On a successful order from the order form

Lead / SubmitForm / generate_lead

Only from a Custom form section — never from the order form

Landing pages emit no InitiateCheckout, so a retargeting audience built on that event will not contain your landing-page traffic. Retarget on ViewContent or a page-view audience for the /landing/ URL instead — see Abandoned cart strategy.

Assigning a Pixel to the page

Pixel assignment is not part of landing-page setup and it is not an "override". Go to /dashboard/pixels, open the pixel and assign it to the landing page. The rule is:

  • A pixel with no assignments is global and fires everywhere.

  • A pixel with assignments fires only where one matches.

Global pixels still fire alongside an assigned one, so a campaign pixel is added, never substituted.

Once you have 50+ purchases, switch your campaign to Optimize for Purchase — Meta moves the algorithm to optimize for buyers, not lookers.

Testing variants

DZBuild has no A/B testing on any plan — there is no traffic splitter. What you can do instead:

  1. Duplicate the page from the copy action on /dashboard/landing-pages.

  2. Give each copy its own slug.

  3. Point a separate ad set at each URL, so the split happens in the ad platform.

Keep a clean naming convention across the duplicates:

  • LP-X-control — original

  • LP-X-test1 — testing one change

  • LP-X-test2 — testing another change

Don't change two things at once — you won't know which won. Remember each duplicate consumes a landing-page slot.

Speed

Mobile load time is the conversion killer:

  • ≤ 1 s = ideal

  • 1–2 s = ok

  • 2–3 s = losing 30 %+ of visits before they see the page

  • 3 s+ = mostly wasted ad spend

Compress hero images aggressively (WebP, ≤ 200 KB). Lazy-load below-fold. The Image Cadre add-on helps frame photos correctly, and WebP versions are served automatically.

Audience matching

A landing page is only as good as the traffic. Match the audience to the offer:

  • Wide audience for low-price impulse products (perfumes, accessories)

  • Narrow lookalike for higher-price considered products (electronics, fashion)

  • Retargeting for cart abandoners — see Abandoned cart strategy

When to clone vs. build new

  • Clone an existing high-converter when adapting to a new product in the same category. Cloning is built in — use the copy button on the page's row in /dashboard/landing-pages, which duplicates every section, then change the slug and the product.

  • Build new when changing market segment or core messaging.

Common mistakes

  • Linking to your storefront from the landing page — sends customers down a rabbit hole. Don't.

  • Multiple CTAs going to different places — one CTA, one destination (the order form).

  • Tons of text — most readers scan, not read. Keep block copy short.

  • No variant pickers — if your product has variants, the customer needs to choose them on the page.

  • No product selected — the base per-wilaya shipping still applies, but the weight surcharge, the Custom Product Shipping override and the Min/Max Quantity rules are all skipped. Always pick a real product, at page level or on the order-form / order-button / product-offers section.

  • Forgetting to assign the campaign Pixel — an unassigned campaign pixel simply doesn't fire on the page, so the campaign records nothing. Assign it at /dashboard/pixels.

  • Writing the FAQ as a section that doesn't exist — there is no FAQ/accordion type; put it in a Free text section.

Did this answer your question?