Bento WordPress Integration
Bento plugins track events, update data, and record LTV, storing everything in your Bento account for easy analysis.

Overview
The Bento WordPress Plugin offers two core functionalities:
- Event Tracking: Automatically track key events across popular WordPress plugins
- Data Management: Update user data and record lifetime value (LTV) metrics
The plugin supports multiple popular WordPress platforms and plugins including:
- WooCommerce and WooCommerce Subscriptions
- LearnDash
- Easy Digital Downloads
- Elementor Forms
- WPForms
- Bricks Forms
- ThriveLeads
- SureCart
Configuration
Requirements
- Active Bento account with API keys
- Latest version of WordPress
- Any supported integration plugin
Installation Steps
Download the Plugin from github here as a zip
Install the plugin by uploading the downloaded zip
file.
Generate your Bento API Keys if you have not from your teams screen

Enter the Bento keys into the plugin. Copy and paste as you go.

Enable User Tracking if required

Save the Changes
Caching Configuration
Bento's script is personalized and dynamic, changing on every page load to power on-page personalization. When using caching plugins like WP Rocket or SuperCache, you must:
- Exclude the custom Bento.js script from caching
- Ensure dynamic content is properly handled
Event Tracking
WooCommerce Events
The following WooCommerce Events are triggered and sent to Bento.
Event Name | Description |
---|---|
$OrderPlaced | Triggered when an order is placed. Updates person's LTV with order total |
$OrderRefunded | Triggered on full/partial refund. Deducts refunded amount from person's LTV |
$OrderCancelled | Triggered when order status changes to "cancelled" |
$OrderShipped | Triggered when order status changes to "completed" |
WooCommerce Subscriptions Events
Event Name | Description |
---|---|
$SubscriptionCreated | New subscription created (any status) |
$SubscriptionActive | Subscription becomes active (e.g., after trial) |
$SubscriptionCancelled | Subscription cancelled by admin |
$SubscriptionExpired | Subscription reaches end of term |
$SubscriptionOnHold | Subscription status changes to "on-hold" |
$SubscriptionTrialEnded | Trial period ends |
$SubscriptionRenewed | Renewal payment processed |
Sure Cart
Event Name | Description |
---|---|
$CheckoutConfirmed | Triggered when a checkout is completed (paid). Contains all metadata from the checkout and user info. |
Easy Digtial Downloads
Event Name | Description |
---|---|
$DownloadPurchased | Triggered when a payment is complete for a download. |
$DownloadDownloaded | Triggered when a download is downloaded by a user. |
$DownloadRefunded | Triggered when a download is refunded, either partially or full. |
LearnDash
Event Name | Description |
---|---|
$CourseCompleted | Triggered when a user completes a course. |
$LessonCompleted | Triggered when a user completes a lesson. |
$TopicCompleted | Triggered when a user completes a topic. |
$QuizCompleted | Triggered when a user completes a quiz. |
$EssayGraded | Triggered when a user's essay has been graded. |
$AssignmentApproved | Triggered when a user's assignment has been approved. |
$AssignmentNewComment | Triggered when a new comment is added to a user's assignment. |
$UserEnrolledInCourse | Triggered when a user enrolls in a course. |
$UserEnrolledInGroup | Triggered when a user is enrolled in a group. |
$UserPurchasedCourse | Triggered when a user purchases a course. |
$UserPurchasedGroup | Triggered when a user purchases a group. |
$UserEarnedNewCertificate | Triggered when a user earns a new certificate. |
$CourseNotCompleted | Triggered when a user has not completed a course within a specified time frame. |
$LessonNotCompleted | Triggered when a user has not completed a lesson within a specified time frame. |
$TopicNotCompleted | Triggered when a user has not completed a topic within a specified time frame. |
$QuizNotCompleted | Triggered when a user has not completed a quiz within a specified time frame. |
$DripContent | Triggered when content becomes available to a user due to drip-feeding. |
Elementor Forms
- Custom event names configurable per form
- Set up through "Actions After Submit" in form settings by selecting
Bento
WPForms
- Events use form name as event name
- Automatic tracking for all form submissions
ThriveLeads
- Events follow format:
$thrive.optin.{form_identifier}
- Example:
$thrive.optin.fancy-optin-shortcode-form-v6n9w1
Event Testing
To verify events are being tracked correctly:
- Complete an action that should trigger an event
- Check the Bento dashboard for the event

- Verify all expected data is present
User history and LTV
Monitor and manage user data including:

- Purchase history
- Event timeline
- Subscription status
- Form submissions
Subscriber Management
Automatically synchronize new users into Bento:
- Add new users as Bento subscribers automatically for instant marketing integration.
- Use forms and activity data to tag users for precise segmentation and personalized messaging.
- Target specific subscriber tags to create lists for tailored marketing campaigns aimed at particular audience segments.
- Automate subscriber quality, list management, and personalization with Bento—no coding required.
