Bee for Craft CMS

Lite free · Pro $149

Recombee, wired into Craft

There is no Craft plugin for Recombee, so the work a site would otherwise have to do by hand is all of it: signing requests, modelling the catalog, keeping it current, tracking interactions, resolving recommended IDs back into elements, and attributing interactions to the recommendations that caused them. Bee is a source you configure and one Twig tag you write.

Bee

One source, one tag

Configure which elements become Recombee items, then loop the result. The calls hand back Craft elements, already loaded, in Recombee's order — not IDs you have to go and resolve. Everything in between is the plugin.

twig
{# Personalised for this visitor #}
{% for product in craft.bee.recommend({ count: 6, scenario: 'homepage' }) %}
  <a href="{{ product.url }}">{{ product.title }} — {{ product.price|commerceCurrency }}</a>
{% else %}
  {# An empty set is a normal answer. Always have a fallback. #}
  {% for product in craft.commerce.products.limit(6).all() %}…{% endfor %}
{% endfor %}

{# Related to this one, and personalised at the same time #}
{% set related = craft.bee.related(product, { count: 4, scenario: 'product-detail' }) %}

{# Recombee's own search — per-user, so two people get different orders #}
{% set results = craft.bee.search(craft.app.request.getParam('q'), { count: 24 }) %}

Features

Everything between Craft and Recombee, and none of it yours to write.

A source is three answers

Which elements feed the recommender, which of them count, and what Recombee is told about each. Sources live in project config, so they travel with a deploy rather than being re-clicked in every environment.

  • Entries, categories, assets, users, products and variants
  • Live elements only — unpublished items are removed, not left behind
  • Twenty built-in mappers, and Twig for anything they miss

A sync that costs nothing

A content fingerprint per element and site means re-syncing an unchanged catalog sends nothing at all. Element saves are collected and flushed into one queue job at the end of the request, so a bulk resave of ten thousand entries is one job rather than ten thousand.

  • Requests batched, and each sub-result read back individually
  • Safe to put in a deploy script — no changes, no HTTP
  • A payload preview built by the same method the sync uses

The funnel, recorded

A recommender is only as good as what it has watched people do. A dependency-free runtime records detail views with real dwell time, Commerce's order funnel becomes purchases and cart additions, and everything else is a one-line call.

  • The visitor is resolved server-side, never off the request
  • Guest history is merged into the account they sign into
  • Consent is read from a cookie before anything is sent

Which rail earned it

Recombee can report click-through and revenue per scenario, but only if the interactions that follow a recommendation carry the recommId that caused them. Bee writes every set it hands out to a ledger and stamps the interactions automatically.

  • Nothing to thread through your cart templates
  • A purchase two pages later is still attributed
  • The ledger prunes itself on a retention window

Nothing takes a page down

Recommendations render into pages and interactions fire during checkout, so every path fails open: an empty set, a logged reason, a page that still renders. Recommendation requests use a short timeout and no retries at all.

  • The catalog sync is the only thing that retries — it runs in a queue
  • Nothing visitor-specific is written into a page, so caching survives
  • An empty set is the correct answer for a brand-new visitor

Provable in a deploy

Eleven checks, the same ones the control panel runs, exiting non-zero so a pipeline can stop on a misconfigured region before anyone notices that the recommendations went quiet.

  • Every declared property, checked against the database for type drift
  • A connection log with payloads and never a credential
  • A dry-run switch that logs every request without sending it

Bee in the control panel

The catalog and its sources, the diagnostics board the console command mirrors, and a connection log that records every request Bee has made.

The Bee catalog screen in the Craft control panel, showing 169 items synced across two sources with twenty declared properties, the payload preview, and a table of recently synced items
The Bee diagnostics screen reporting eleven green checks — credentials, connection, catalog sources, catalog, item properties, recommendations, tracking, multi-site and Commerce — with the historic order backfill and a report of recommendations handed out per scenario
The Bee connection log listing every request to Recombee with its status and duration, including 409 responses marked as interactions that already exist and a 503 that was retried

Screenshots from a live install, not mockups.

Frequently Asked Questions

The questions worth answering before you install it.

Point it at a database

Add a source, run the sync, and put one tag on a page. Lite is free and covers the catalog, detail views, purchases and the two recommendation calls that make a recommender work. Pro is $149 with a $59/year renewal, and adds search, segments, the rest of the funnel, the attribution ledger and the historic order backfill.