contactlab/magento2-hub dev-master

Contacthub module for Magento 2





Requires (dev)










Public previe

Contacthub Connect for Magento 2.x

Version 1.0.0

Installation and Configuration Guide



The Contacthub Magento 2 plug-in enables you to automatically send all the activities your customers undertake on the e-commerce platform to Contacthub, without the need to write any code. The extension automatically collects individual customer information such as:

  • The pages they visit.
  • The products they add to, or remove from, their shopping cart.
  • The orders they complete.

It also ensures potentially valuable information is not lost, by retaining events and actions that are related to customers who have not yet been identified because, for example, they are not logged in, or they have not yet registered. The data is stored by Contacthub, ready to be associated with the customer as soon as they are identified later.

Installing the plug-in is very simple, while configuring it requires just a few minutes.


The Contacthub Magento 2 plug-in requires Magento CE version 2.x. Further details about Magento 2 system requirements are available on the Magento website.

An alternative version of the Contacthub Magento plug-in for Magento CE version 1.9 is available on GitHub, at

Installing the Magento 2 plug-in

  • Log in to Magento Admin, click System > Cache Management and enable all cache types.

  • It is recommended that you install the plug-in using composer, by running the following command in the Magento 2 root folder:

composer require contactlab/magento2-hub
php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy
  • Click System > Cache Management and then click Flush Cache Storage.

Once you have done this, the extension installation is complete.

  • Log out of Magento Admin and then log back in again, to allow Magento to refresh permissions.

Configuring the Magento plug-in

To configure the plug-in, do the following:

Contacthub Magento Note
title getModel("customer/customer")->getPrefix()
firstName getModel("customer/customer")->getFirstname()
lastName getModel("customer/customer")->getLastname()
gender getModel("customer/customer")->getGender() == 1 ? 'Male' : 'Female'
dob date('Y-m-d', strtotime(getModel("customer/customer")->$customer->getDob()))
locale getStoreConfig('general/locale/code', $this->getStoreId()) getIdentityEmail()
address.street getModel('customer/address')->getStreet() Address data loaded from getDefaultBilling() getModel('customer/address')->getRegion() Address data loaded from getDefaultBilling() getModel('directory/country')->load(getModel('customer/address')->getCountry())->getName() Address data loaded from getDefaultBilling()
address.province getModel('customer/address')->getRegion() Address data loaded from getDefaultBilling() getModel('customer/address')->getPostcode() Address data loaded from getDefaultBilling()


Contacthub Magento
Viewed product When the customer views a product.
Viewed product category When the customer views a product listing belonging to a specific category.
Added product When the customer adds a product to their shopping cart.
Removed product When the customer removes a product from their shopping cart.
Added product to wishlist When the customer adds a product to their wishlist.
Removed product from wishlist When the customer removes a product from their wishlist.
Order completed When the customer completes an order.
Logged in When the customer logs in to their account.
Logged out When the customer logs out of their account.
Subscribed to newsletter When the customer subscribes to your newsletter.
Unsubscribed from newsletter When the customer unsubscribes from your newsletter.
Order shipped When your company ships the products in the order.
Abandoned cart When the customer added a product to their cart, but did not complete the order/transaction.

Order Completed

To identify the order data use: $order = Mage::getModel('sales/order')->loadByIncrementId($eventData->increment_id)
To export each individual product (item) included in the order use: $order->getAllItems() as $item
To export all the details of each individual product (item) use: $product = Mage::getModel('catalog/product')->load($product_id)

Contacthub Magento Note
Contacthub $order->getIncrementId()
type sale
storeCode $order->getStoreId()
paymentMethod Not available
amount.local.exchangeRate $order->getStoreToOrderRate() This is the exchange rate used when the data is loaded.
amount.local.currency $order->getOrderCurrencyCode() $order->getGrandTotal()
amount.revenue $order->getGrandTotal() - $order->getShippingAmount() - $order->getShippingTaxAmount()
amount.shipping $order->getShippingAmount() + $order->getShippingTaxAmount() $order->getTaxAmount() $order->getDiscountAmount()
products.type sale $product->getEntityId()
products.sku $product->getSku() $product->getName()
products.linkUrl Mage::getUrl($product->getUrlPath())
products.imageUrl Mage::helper('catalog/image')->init($product, 'image')
products.shortDescription $product->getShortDescription()
products.category $this->getCategoryNamesFromIds($product->getCategoryIds())
products.price $item->getPrice()
products.subtotal $item->getRowTotal()
products.quantity $item->getQtyOrdered() $item->getDiscountAmount() $item->getTaxAmount() $order->getCouponCode() Mage::app()->getStore()->getStoreId() Mage::app()->getStore()->getName() Mage::getStoreConfig('general/country/default') Mage::getUrl('', array('store' => Mage::app()->getStore()->getStoreId())) ECOMMERCE


Any customizations in the Magento path will not be exported to, or available in Contacthub, as these could compromise the plug-in operation.