- Uses official klaviyo/api package.
- Renamed
useSubscribeEndpoint
tosubscribe
. - User profile now uses
external_id
instead ofid
. - Renamed
event_id
tounique_id
. - Changed
identify
function to include an$update
argument. identify
action can update an existing profile.- Updated
trackOrder
to include the order currency in the event details.
- Provide
email
and/orphone_number
whensubscribe
istrue
to provide consent for subscription to those channels. - Added
value_currency
to event details.
- Removed track once event.
- Remove
profileInList
API service function. - Removed
update-profile
action. Update profiles using identify and track endpoints instead. - Removed
updateProfile
API service method.
- Use correct Craft control panel icon
- Update plugin branding
- Use
cpTrigger
config when triggering an order sync to Klaviyo from Utilities
- Fix issue where the plugin would attempt to fetch lists when the Klaviyo API key was not set
- Include order timestamps when synchronizing orders from the control panel
- Fix missing type hint in API controller
- Adding version constraints
- Fixing messed up releases where it was possible to install 5.0.1 on Craft 3
- Fix issue with PHP Typing error on settings screen
- Separate Craft 4 version
- Added a service method to retrieve a Klaviyo Person ID using an email address
- Added a service method to update a Klaviyo profile
- Added a controller method for updating a Klaviyo profile
- Fixes issue in Lists field type where list selection isn't saved, or previous setting is nulled, if the entry is first saved by an automatic draft.
- The plugin now works with Craft 4
- Fixes error with guest checkouts when custom product image field doesn't exist on products or variants
- Klaviyo Connect will now use a variants product image if present before using the products image (#67)
- Added support for Guzzle 7.2
- Added the
useSubscribeEndpoint
parameter to theklaviyoconnect/api/track
action to make it possible to use Klaviyo’ssubscribe
endpoint instead ofmembers
, which has the benefit of respecting the double opt-in setting of the list
- Fixes error when updating cart without a billing address
- Passes customer billing name to Klaviyo when the user completes an order as guest
- Value of Product Type is now the
name
not the full object
- Product Type with line item data sent with events
- Value on Ordered Product events
- Add tracking for order status changes
- Add tracking for refund transactions
- Add ability to disable tracking for specific events
- Add ability to push historical Commerce orders to Klaviyo
- Fix bug where events triggered by admins cause admin account to get tracked in Klaviyo.
- Fix bug with line item formatting on events where they would show up as strings instead of arrays.
- Merged #27
- Fix line items when passed as a string (such as through hidden fields in Twig) to
json_decode
the string before sending to Klaviyo.
- Fix an error that occurs when saving a user due to
klaviyoAvailableGroups
setting being an array.
- Allow tracking events with a timestamp.
- Allow using environment variables for public and private keys in plugin config.
- Use response code for error message instead of relying on an error code in the Klaviyo API response body.
- Removed
Base::getSpecialProperties()
- Removed
confirmOptIn
from add to list code
- Updated Klaviyo List API calls to V2
- Added GDPR consent related fields on the
Profile
model
Track::createProfile
is now protected- Fix an error when a line item's purchasable has no Product attached
- Users can now listen to the
Track::ADD_LINE_ITEM_CUSTOM_PROPERTIES
event for any line item regardless whether it has a Product attached or not
- Fetch the first product image for each line item
- Replaced deprecated
includecss
andincludejs
Twig tags
- Fixed
profileMappings
on Settings page - Ensure Craft Commerce is installed and enabled before adding event listeners
- Check for Craft Commerce before tracking order events
- Check for Craft Commerce when calling the restore cart action
- Profile mappings and related events, variables, etc
- Restructured data sent to Klaviyo
- Custom properties are added to the root of models instead of to the
$extra
property - User profile mapping is based on logged in user and data sent with the
profile[]
form parameter - Replaced
events
service withtrack
- Renamed events to align with Klaviyo language (
AddProfilePropertiesEvent
,AddCustomPropertiesEvent
, etc) - Changed
api/update-profile
toapi/track
- Fixed error when adding a user to a Klaviyo list
- Added
addToLists
to Track service - Added docs site
- Order and Line Item events for users to add custom properties onto event bodies
- Profile event to add custom properties to user profiles
- Changed
trackOrder
andgetOrderDetails
visibility.
- Fixed user service events.
- Migrated to Craft 3.