Download the PHP package clerk/magento2 without Composer
On this page you can find all versions of the php package clerk/magento2. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package magento2
Clerk.io for Magento 2
The official Clerk.io extension for Magento 2. It connects your store to Clerk.io's AI platform, giving you personalized search, product recommendations, and visitor tracking out of the box.
Version: 4.9.2 · PHP: 7.4+ · Magento: 2.3+
What It Does
This extension handles three things:
-
Feeds your product data to Clerk.io — Exposes REST-style endpoints (
/clerk/product,/clerk/order,/clerk/category, etc.) that the Clerk.io platform calls to sync your catalog. Also pushes real-time updates when products are saved or deleted. -
Renders Clerk.io on the frontend — Injects Clerk.js on every page, which handles search results, live search dropdowns, recommendation sliders, exit-intent popups, and tracking.
- Tracks visitor behavior — Logs page views, clicks, cart contents, and completed orders so Clerk.io's AI can learn and improve results.
Feature Overview
| Feature | What it does |
|---|---|
| Search | Replaces Magento's native search results page with Clerk.io's. Supports faceted filtering. |
| Live Search | Type-ahead dropdown on the search field. Configurable selector, categories, suggestions count. |
| Recommendations | Sliders on product, category, cart, and home pages ("also bought", "alternatives", "trending", etc.) |
| Powerstep | After add-to-cart, shows a page or popup with "keep shopping" recommendations. Works by overriding Magento\Checkout\Controller\Cart\Add via a DI preference. |
| Exit Intent | Overlay triggered when the visitor moves to leave the page. |
| Sales Tracking | <span> on the checkout success page that logs the order to Clerk.io. |
| Basket Tracking | Intercepts Magento's cart AJAX calls via a patched XMLHttpRequest to keep Clerk.io in sync with the cart. |
| Real-Time Sync | Observers on catalog_product_save_after and catalog_product_delete_after_done push changes to the Clerk.io API instantly. Also tracks order returns via credit memo observer. |
Installation
Composer (recommended):
After install, go to Stores > Configuration > Clerk > Configuration and enter your API keys from my.clerk.io.
Full setup guide: help.clerk.io/integrations/magento-2/get-started
How It Works Under the Hood
Data Feed Endpoints
All under the clerk/ frontend route. Authentication legacy public/private key. Auth logic is in Controller/AbstractAction.php.
| Endpoint | What it returns |
|---|---|
/clerk/product |
Products with prices (incl/excl tax), stock, images, categories, child product data, tier prices, visibility |
/clerk/order |
Orders with line items, quantities, email, customer ID |
/clerk/category |
Categories with parent/child relationships and URLs |
/clerk/customer |
Customers with configurable attributes (if enabled) |
/clerk/page |
CMS pages |
/clerk/version |
Magento version, extension version, PHP version |
All paginated endpoints accept page, limit, orderby, order, fields parameters.
There are also diagnostic endpoints (/clerk/getconfig, /clerk/setconfig, /clerk/rotatekey.
Structure
Customizing & Extending
If you need to customize the extension, here are the parts to be careful with.
tracking.phtml — be very careful. This template loads Clerk.js and configures the entire integration. It also intercepts Magento's cart AJAX calls to keep basket tracking in sync with Clerk.io. If you override this template, make sure you keep the Clerk.js initialization and the Clerk('config', {...}) call intact, or nothing will work. You can disable basket tracking in admin under Synchronization > Collect Baskets.
etc/di.xml — the add-to-cart override. The extension replaces Magento's Magento\Checkout\Controller\Cart\Add controller entirely with its own version (Clerk\Clerk\Controller\Checkout\Cart\Add) to make the powerstep work. This means:
- If another extension also tries to override
Cart\Addvia a DI preference, one of them will win and the other will break. Magento only allows one preference per class. - If you need to modify add-to-cart behavior, create a plugin on
Clerk\Clerk\Controller\Checkout\Cart\Add— not on the original Magento class. - If the powerstep is causing conflicts and you don't need it, you can disable it in admin, but the DI preference is still active.
Controller/AbstractAction.php — the authentication layer. All data feed endpoints (/clerk/product, /clerk/order, etc.) go through this base controller which handles JWT token validation and API key authentication. Don't plugin around the dispatch() method unless you fully understand the auth flow — you could accidentally expose your product feed publicly or break the sync.
The Clerk.js <span> data attributes. The search results, live search, and recommendation blocks work by outputting <span class="clerk" data-template="@..." data-products="[...]"> tags. Clerk.js finds these spans and replaces them with rendered content. If you change the data-* attribute names or the class="clerk" marker, Clerk.js won't find them and nothing will render.
Troubleshooting
- Extension not showing up: Run
bin/magento module:status Clerk_Clerk. If disabled, runbin/magento module:enable Clerk_Clerk && bin/magento setup:upgrade. - Search not working: Check API keys in admin config. Open browser console and look for Clerk.js errors. Verify
clerk/search/enabledis "Yes". - Products missing from feed: Visit
/clerk/product?limit=1(with auth) to check the feed. Verify product visibility settings in the Clerk config match what you expect. - Real-time sync not working: Check
clerk/product_synchronization/use_realtime_updatesis enabled. Checkvar/log/clerk_log.logfor errors. - Powerstep conflicting with another extension: Both may be overriding
Magento\Checkout\Controller\Cart\Add. You'll need to resolve the DI preference conflict.
Enable logging at Stores > Configuration > Clerk > Logging — set level to "All" and destination to "File" to write to var/log/clerk_log.log.
Links
- Setup Guide
- Configuration Docs
- Data Sync Docs
- Clerk.js Docs
- Design Template Language
- API Reference
- Dashboard
Contributing
- Fork and branch from
master - Test against a Magento 2 instance
- Open a PR with a clear description
Issues & feature requests: github.com/clerkio/clerk-magento2/issues
Support
- help.clerk.io · status.clerk.io