Comparison Table

Make the choice between two options obvious

A feature-by-feature table of two to five things, with a tick, a cross, a dash or your own words in every cell, and one column marked as the one you recommend. On a phone it either scrolls with the feature column pinned, or breaks into a block per feature.

A decision instead of a comparison

A shopper weighing two service levels leaves. A table with one column recommended and a ribbon over it turns the same page into a choice.

It survives a phone

Most comparison tables become unreadable at 375 px. This one either scrolls sideways with the feature names pinned to the edge, or breaks into one block per feature with every value labelled.

A tick means something to a screen reader

Every mark carries a word — "Yes", "No", "Not applicable" — written into the page next to it. A tick drawn by a stylesheet is not something a screen reader can be relied on to read.

Use cases

Where shops put it

Delivery options on a shipping page

Standard against express against collection, with the times, the prices and what happens when nobody is in.

Service levels or warranties

Three plans, the middle one recommended, with a ribbon and an accent colour that matches the rest of the campaign.

This year's model against last year's

Two columns with a picture over each, the stacked layout for phones, and stripes off because the table is short.

What you control

Every field in the form, in plain words

Two appearances
Which differ on a phone: scroll sideways with the feature column pinned, or break into a block per feature.
Two to five columns
Each with a name and an optional picture above it. Narrowing hides the extra columns rather than deleting what is in them.
A recommended column
With a ribbon whose wording is yours.
An accent colour
For the ticks, the ribbon and the recommended column's outline.
Stripes, a compact or roomy size, and a sticky header
On desktop.
Per row
The feature name and five cells, each a tick, a cross, a dash or free text.

Shown in the demo store

Native and honest

Your content is written in Magento's own format

The mark in a cell is drawn by the stylesheet; the word next to it is stored in the page. That pair is the whole story: with the module removed, every row still reads as the feature's name followed by "Yes", "No" or "Not applicable" in column order, rather than as a table of empty cells. The words are stored in English and swapped for a translation when the page is shown.

A screen reader gets the full set of table semantics — the dimensions announced, and every cell read with the heading of its column and of its row — while the columns themselves are a grid, which is what lets them become cards on a phone.

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_PageBuilder module 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

Why does the row's form show five cells when my table has three columns?
Does the sticky header work on a phone?
What happens if I narrow the table?
Can a cell hold anything other than a mark or a line of text?

Conversion & trust

More in Conversion & trust

Auto Popup

The same window with no trigger: it opens itself after a delay you set.

Countdown Timer

Days, hours, minutes and seconds down to a deadline you set.

Coupon Code

A discount code on a ticket, in a line or on a banner, with a button that copies it.

CTA Box

A call-to-action band with a heading, a subheading and up to two buttons.

CTA Popup

A button or a text link that opens a window holding real Page Builder content.

Logo Cloud

A row of brand, partner or payment marks, as a grid or a carousel — or a row of social icons.

Newsletter Signup

Your store's own newsletter subscription as a bar, a card or a full-width band.

Pricing Table

Columns of plans with feature lists and a call to action in each.

Star Rating

A score in stars — to a tenth of a star, out of five or ten — with the number and a caption.

Testimonials Slider

A carousel of customer quotations with photographs and star ratings.

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.