Coupon Code
Hand over the code in one press
Your discount code on the page where the sale is — a ticket, a line of text or a banner — with a button that copies it exactly as the cart expects it, ready to paste at the checkout.

The default ticket, "Copied!" over the button after a press.
Use cases
Where shops put it
A sale's landing page
A banner at the top: "Autumn sale — 30% off", the code, "Valid until 25 October" and a link to the category the code is for.
A welcome code for new customers
A ticket beside a picture on the welcome page, with the small print — minimum order, one use per customer — under it.
A code revealed on a press
"10% off your first order" with the code blurred until the visitor presses "Show and copy" — a small game that gets the button pressed.
- Three appearances
- A ticket with a perforated stub (beside the offer or under it, depending on the room the coupon has), a plain line, or a banner across the column.
- The words
- Heading, offer, small print, the button's label and the "Copied!" confirmation — all yours, in your store's language.
- Expiry in two halves
- A moment that greys the code out, and a "valid until" line in your own words, always shown.
- Reveal on Click
- The code blurred until the first press, which shows and copies it.
- The code's look
- Monospace or the theme's font, three sizes, three letter spacings.
- A link to the sale
- A category, a product, a CMS page or any address.
- Colours and background
- An accent colour, text colour, background colour, picture and overlay.
Shown in the demo store

Tickets with Reveal on Click and the code styles, and three inline coupons.

Banners on the accent tint, on a photograph under an overlay, and on a colour of their own.

A code past its date with the expiry message, and three colour schemes.
Native and honest
Your content is written in Magento's own format
The code is stored as ordinary bold text, so it can always be selected and copied by hand — without JavaScript, and with the module switched off, when the page still shows the heading, the offer, the code, the "valid until" line and the small print, with no dead button left behind. The element does not know your discount rules: it does not create a cart price rule, check that the code works or switch it off at the checkout. You create the discount in Marketing → Promotions → Cart Price Rules, and its own dates decide whether the code is accepted; the expiry here only changes the page. Reveal on Click is a teaser, not a lock: the code is in the page as text, and anyone who views the source can read it.
Every element saves itself the way native Page Builder saves its own: a plain <div data-content-type="wrizu_…"> with its settings in data-* attributes, stored with the page. There is no proprietary database table, no shortcode, no second editor and nothing that has to be converted later.
That has a practical consequence. Disable the module and the storefront keeps serving those pages: headings, copy, images, links and buttons stay visible and clickable, and the styling you set per element — alignment, colours, spacing — stays with them, because it lives in a <style> block stored with the page rather than in our stylesheets. What you lose is what our CSS draws: the layouts, the borders and shadows, the button variants and the bundled icons.
One honest warning
With the module switched off, do not open and save a page that contains Wrizu elements — Page Builder flattens any page holding a content type it does not know into a single HTML Code block, and that save cannot be undone. It behaves that way with every unknown content type, not only with ours, and the storefront is unaffected either way; the rule is simply to leave those pages alone until the module is back on.
Works with any Luma-based theme
The elements are built on the same front-end stack the native Page Builder uses: jQuery and the libraries Page Builder already loads. They target Luma-based themes — Magento Blank, Luma, and the custom themes shops build on either of them.
Buttons use Luma's own button mixins, so a Wrizu button looks like a button from your theme rather than like a button from a plug-in. All of the module's CSS is scoped to [data-content-type^="wrizu_"], so it styles our elements and nothing else in your theme.
Requirements
- Magento Open Source or Adobe Commerce 2.4.6 or newer, with the
Magento_PageBuildermodule enabled - PHP 8.1 to 8.5 — whichever your Magento version supports
- No other extension, no external icon font, no CDN dependency
Questions about this element
Conversion & trust
More in Conversion & trust
Thirty-five conversion elements for the Page Builder you already have
Wrizu Page Builder Extensions adds them to the native Magento 2 Page Builder — no second editor, no proprietary format, no content held hostage.