window.Ecwid.OnPageLoad / window.Ecwid.OnPageLoaded

These events contain callbacks that get called on each page change.

window.Ecwid.OnPageLoad
window.Ecwid.OnPageLoaded

The difference between OnPageLoad and OnPageLoaded is that the former is called when the page is changed (e.g. a link is clicked), while the latter is called later when the corresponding page is loaded.

The callback functions accept one parameter of type Page specifying which page is to be loaded (or has already been loaded). See Page Object details for more info.

window.Ecwid.OnPageLoaded.add(function(page) {
    if (page.type == "SITE") {
      	// do something ...
  }
});

Page object

Describes the displayed page.

Get page type after new page is loaded:

window.Ecwid.OnPageLoaded.add(function(page){
  console.log("Current page is of type: " + page.type);
});

Fields:

NameTypeDescription
namestringFor types: CATEGORY, PRODUCT. Name of the opened category or product
typestringOne of the following: ACCOUNT_SETTINGS, ADDRESS_BOOK, ORDERS, RESET_PASSWORD, CATEGORY, CART, CHECKOUT_ADDRESS_BOOK, CHECKOUT_PAYMENT_DETAILS, CHECKOUT_PLACE_ORDER, CHECKOUT_ADDRESS, CHECKOUT_DELIVERY, ORDER_CONFIRMATION, ORDER_FAILURE, CHECKOUT_RESULT, DOWNLOAD_ERROR, PRODUCT, SEARCH, FAVORITES, RESET_PASSWORD, SIGN_IN. Type of the page. Some pages may have parameters, like: productId of the viewing product. Those parameters are described below.
keywordsstring, optionalfor type==’ORDERS’: the keywords that are used to find orders in the customer account page. for type==’SEARCH’: the keywords that are used to find products on the product search page.
frominteger timestamp, optionalfor type==’ORDERS’: The timestamp of the start of the orders date range.
tointeger timestamp, optionalfor type==’ORDERS’: The timestamp of the end of the orders date range.
offsetfor type==’ORDERS’: the position of the current order list page (starting from 0). for type==’CATEGORY’ and SEARCH’: the position of the current product list page (starting from 0).
categoryIdintegerfor type==’CATEGORY’: the id of the showing product category or 0 if this is the starting page of the catalog and no categories are selected yet. for type==’PRODUCT’: the category internal id the current product has been navigated from. Zero (0) is the root category, −1 meaning that the category is unknown (e.g. a product opened from a search result).
mainCategoryIdintegerfor type==’PRODUCT’ in the OnPageLoaded event: the internal id of category that is considered the default category of this product (in case if the product is assigned to a few different categories). If a product is assigned to a single category, mainCategoryId will be equeal to categoryId; if a product is not assigned to any category, its mainCategoryId is 0 (zero). for type==’PRODUCT’ in the OnPageLoad event: always 0 (zero);
sortstringOne of: normal, addedTimeDesc, priceAsc, priceDesc, nameAsc, nameDesc. For type==’CATEGORY’ and ’SEARCH’: the order of the product list, as selected by the user in the ‘sort by’ drop-down. ‘Desc’ suffix stands for the descending order, ‘Asc’ suffix stands for the ascending order.
orderIdintegerfor type==’CHECKOUT_RESULT’ and type==’ORDER_CONFIRMATION’: the internal id of the order (not to be confused with the store order number)
ticketintegerfor type==’CHECKOUT_RESULT’: the security random code that allows to retrieve information about the order
errorTypestringOne of the following: expired, invalid, limit. For type==’DOWNLOAD_ERROR’: the type of the error while downloading an e-good file.
keyinteger, optionalfor type==’DOWNLOAD_ERROR’: the downloading file internal id
productIdintegerfor type==’PRODUCT’: the internal id of the displaying product (not to be confused with SKU).
orderNumberintegerfor type==’ORDER_CONFIRMATION’ the number of the order placed by customer(without prefix and suffix).
vendorOrderNumberstringfor type==’CHECKOUT_RESULT’ and type==’ORDER_CONFIRMATION’ the number of the order placed by customer(with prefix and suffix)
hasPreviousbooleantrue if customer visited some previous pages earlier and current page is not the entry page. false if current page is the first page of entry
variationIdnumberVariation ID if specified in the URL. Learn more
filterParams<FilterParameters>Filter parameters used in product search request. For "CATEGORY" and "SEARCH" pages only

FilterParameters

NameTypeDescription
attributes<SelectedAttributes>Information about selected attributes and their values
categoriesArray of stringList of category IDs where customer searches in
includeProductsFromSubcategoriesbooleantrue if the search needs to include products from subcategories. false otherwise
keywordstringThe keyword customer used when searching for products
options<SelectedOptions>Information about selected options and their values

SelectedAttributes

NameTypeDescription
ATTRIBUTE_NAMEstringAttribute name is the field name and array of attribute value(s) is the value of this field

SelectedOptions

NameTypeDescription
OPTION_NAMEstringOption name is the field name and array of option value(s) is the value of this field