Skip to main content

WebEngage Analytics Events

QA Verified — Cross-checked against two production QA reports (Dec-2025 / Jan-2026, Android & iOS). Source verified against @appmaker-packages/extension-webengage on the expo-53-update branch. The verified themes use only the default events (no webengageEventData filter overrides).

This document lists the default events fired by the Appmaker WebEngage plugin (@appmaker-packages/extension-webengage) — for each event you will find:

  • What it does — the user action it represents.
  • When it is triggered — the in-app action that fires it.
  • Attributes — the properties sent with the event.

Scope

  • Only the default events fired from the SDK / app code are listed here.
  • Custom event overrides added by themes/extensions via the webengageEventData filter are out of scope. See How to customise WebEngage events to add or rename events.
  • Webhook / system events sent to WebEngage from outside the app (Shopify webhooks like Order Created, Order Updated, Order Cancelled, Checkout Updated, Checkout Started, Checkout Completed; or WebEngage system events like Email Sent, Email Delivered, sms send, Campaign Conversion, Push Subscribe Process) are not fired by the plugin and are not documented here.

Event Summary

#Event NameWhat It TracksTriggered When
1Product ViewedA product detail page (PDP) is viewedUser opens a product page
2Category ViewedA collection / category page is viewedUser opens a collection / category page
3Searched ProductA product search is performedUser runs a search query
4Added To CartA product is added to the cartUser taps "Add to Cart"
5Removed From CartA line item is removed from the cartUser removes a line from the cart
6Remove from CartA line item's quantity is decreasedUser decreases the quantity of a cart line item
7Cart UpdatedThe cart contents changeAny add / remove / update of cart contents
8Cart ViewedThe cart page is viewedUser opens the cart
9Added to WishlistA product is saved to wishlistUser adds a product to the wishlist
10Offer AvailedA coupon code is appliedUser applies a coupon in the cart
11Checkout Button ClickedThe user starts checkoutUser taps the "Checkout" button from the cart
12Checkout CreatedA snapshot of the created checkoutFired together with Checkout Button Clicked
13Order CompletedAn order is successfully placedThank-you page is reached
14Customer RegisteredA new user signs upNew user completes registration
15User Login (identity)The user identity is attached to the WebEngage userOn user login / register — calls webengage.user.login()
16User Logout (identity)The user identity is detachedOn user logout — calls webengage.user.logout()

Product Viewed

What it does: Marks that a product detail page (PDP) was viewed. Triggered when: The user lands on a product detail page.

Attributes

PropertyTypeDescription
IDStringNumeric Shopify product ID
PriceNumberSale price (rounded integer)
TitleStringProduct name
CurrencyStringCurrency code (e.g. INR, USD)
AvailableBooleantrue if the product is available for sale
Total VariantsNumberNumber of variants the product has
SourceStringOnline store URL of the product
TagsStringComma-separated list of product tags
ImageStringURL of the first product image
Variant IdStringNumeric Shopify variant ID
DiscountNumberDiscount amount (compareAtPriceprice)

Category Viewed

What it does: Marks that a collection / category page was viewed. Triggered when: The user opens a collection / category page.

Attributes

PropertyTypeDescription
IdNumberNumeric Shopify collection ID
TitleStringCollection / category title
ImageStringCollection image URL
Product CountNumberNumber of products on the page
SourceStringCollection ID (string form)

Searched Product

What it does: Captures a product search. Triggered when: The user runs a product search.

Attributes

PropertyTypeDescription
TermsStringSearch query

Added To Cart

What it does: Captures a product being added to the cart. Triggered when: The user taps "Add to Cart" on a product.

Attributes

PropertyTypeDescription
TitleStringProduct name
ImageStringFirst product image URL
VendorStringProduct vendor
QuantityNumberQuantity added
Product IDStringNumeric Shopify product ID
Variant IDStringNumeric Shopify variant ID
Product TypeStringShopify product type
Variant TitleStringVariant title (empty if Default Title)
CurrencyStringCurrency code
PriceNumberUnit price (rounded integer)
SourceStringOnline store URL of the product

Removed From Cart

What it does: Captures the full removal of a line item from the cart. Triggered when: The user removes a line item from the cart.

Attributes

PropertyTypeDescription
TitleStringProduct name
ImageStringVariant / product image URL
VendorStringProduct vendor
QuantityNumberQuantity that was in the cart
Product IDStringNumeric Shopify product ID
Product NameStringProduct name
Variant IDStringNumeric Shopify variant ID
Variant TitleStringVariant title (empty if Default Title)
Product TypeStringShopify product type
CurrencyStringCurrency code
PriceNumberUnit price (rounded integer)
SourceStringOnline store URL of the product

Remove from Cart (Quantity Decrease)

What it does: Captures a quantity-decrease on a cart line item. Triggered when: The user decreases the quantity of a cart line item.

Note: This is a separate event from Removed From Cart. The casing differs by design — it is fired on quantity decrease, not on full line removal.

Attributes

Same as Removed From Cart.


Cart Updated

What it does: Captures any change to the cart contents. Triggered when: The cart contents change (add / remove / update).

Attributes

PropertyTypeDescription
Line ItemsArrayArray of cart line item edges
Number of ProductsNumberTotal quantity across all line items
Product NamesStringComma-separated list of product titles (with variant titles)
TotalNumberCart total value

Cart Viewed

What it does: Marks that the cart page was viewed. Triggered when: The user opens the cart page.

Attributes

PropertyTypeDescription
Line ItemsArrayArray of cart line item edges
Number of ProductsNumberTotal quantity across all line items
Product NamesStringComma-separated list of product titles (with variant titles)
TotalNumberCart subtotal (rounded integer)

Added to Wishlist

What it does: Captures a product being saved to the wishlist. Triggered when: The user adds a product to the wishlist.

Attributes

PropertyTypeDescription
Product IDStringNumeric Shopify product ID
TitleStringProduct name
product_nameStringProduct name (alias for compatibility)
PriceNumberProduct price (rounded integer)
currencyStringCurrency code
ImageStringFirst product image URL
VendorStringProduct vendor
URLStringOnline store URL of the variant

Offer Availed

What it does: Captures a coupon code being applied. Triggered when: The user applies a coupon code in the cart.

Attributes

PropertyTypeDescription
Coupon CodeStringCoupon code

Checkout Button Clicked

What it does: Marks the start of checkout from the cart. Triggered when: The user taps the Checkout button from the cart page.

Attributes

PropertyTypeDescription
CurrencyStringCurrency code
Total ItemsNumberTotal quantity in the cart
Total PriceNumberTotal cart value

Checkout Created

What it does: Sends a richer snapshot of the checkout being created (customer + cart details). Triggered when: Fired together with Checkout Button Clicked.

Attributes

PropertyTypeDescription
Created AtStringISO timestamp of cart creation
currencyStringCurrency code
cart tokenStringNumeric cart ID
customer emailStringCustomer email (from cart)
customer first nameStringCustomer first name (from local user state)
customer last nameStringCustomer last name
customer phoneStringCustomer phone
emailStringCustomer email
nameStringfirstName lastName
sourceStringCart web URL
subtotal priceNumberCart subtotal (rounded integer)
total priceNumberCart total (rounded integer)
total spentNumberCart total (rounded integer)
user idStringNumeric customer ID
line_itemsArrayArray of line item edges
productIdsStringComma-separated list of product IDs

Order Completed

What it does: Captures a successful purchase. Triggered when: An order is successfully placed (the thank-you page is reached).

Attributes

PropertyTypeDescription
Created AtStringCart createdAt timestamp
currencyStringCurrency code
customer emailStringCustomer email
customer first nameStringCustomer first name
customer idStringNumeric customer ID
customer last nameStringCustomer last name
customer phoneStringCustomer phone
emailStringCustomer email
nameStringfirstName lastName
phoneStringCustomer phone
cart tokenStringNumeric cart ID
checkout idStringNumeric checkout ID
checkout tokenStringNumeric checkout token
order numberStringOrder number
current total priceNumberOrder total amount
order idStringNumeric order ID
line_itemsArrayArray of line item edges
productIdsStringComma-separated list of product IDs
tagsStringComma-separated customer tags
total priceNumberOrder total
user_idStringNumeric customer ID

Customer Registered

What it does: Captures a new user signing up. Triggered when: A new user completes signup. The plugin also calls webengage.user.login() to attach the user identity (see below).

Attributes

PropertyTypeDescription
IDStringNumeric customer ID
Customer IdStringNumeric customer ID
EmailStringCustomer email
First NameStringCustomer first name
Last NameStringCustomer last name
IdentityStringCustomer name
PhoneStringCustomer phone
TagsStringComma-separated customer tags

User Identity (Login / Logout)

These are not webengage.track() events — they are calls into the WebEngage user identity API. They appear in the WebEngage QA report as User login / User logout.

User Login

What it does: Attaches the WebEngage user identity (and their email / phone attributes) to the active session. Triggered when: The user logs in or registers. Behaviour:

  • If the plugin setting use_phone_as_user_id is enabled and the user has a phone number, calls webengage.user.login(phone).
  • Otherwise calls webengage.user.login(email).
  • Then sets attributes:
    • webengage.user.setEmail(email)
    • webengage.user.setPhone(phone) (when phone is non-null)

User Logout

What it does: Detaches the WebEngage user identity. Triggered when: The user logs out. Behaviour: Calls webengage.user.logout().


Customising or Adding Events

To rename, modify, or override any of the default events listed above, use the webengageEventData filter from your theme or extension. See How to customise WebEngage events.