Tracking and Analytics Tools Integration

The platform supports integration of various tracking and analytic tools, which can monitor the platform dashboard, including all the traffic information, used functionality, and performed actions.

In order to integrate an analytics tool, you can add the following connector’s code and event tracking to the dashboard’s header.html:

1
2
3
4
5
<script>
    window._onTrackUserEvent = function (e) {
      // Your custom event tracking code here
    }
</script>

Here, the _onTrackUserEvent function takes one argument ("e"), which is an event object containing the following fields:

  • userId – unique identifier of the user who triggered the event
  • userGroup – group of the user who triggered the event
  • userGroupType – group type (trial, beta, post, billing) of the user who triggered the event
  • category – category of the event (mandatory)
  • action – action that triggered the event (mandatory)
  • label – event label (optional)
  • value – event value (optional)
Tip: Check the table in the corresponding section below for the event specifics.

Below, you can check two examples:

  • for Google Analytics 4
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!-- Code from Google tag installation instructions for your account (sample) -->
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-XXXXXXXXXX');

</script>

<!-- Custom VAP Events Tracking -->
<script>
    window._onTrackUserEvent = function (e) {
        gtag('event', e.category + '-' + e.action, {
            'user_id': e.userId || '',
            'user_group': e.userGroup || '',
            'user_group_type': e.userGroupType ||'',
            'event_category': e.category,
            'event_action': e.action,
            'event_label': e.label || '',
            'value': e.value || ''
        });
    }
</script>
  • for third party custom analytics service (Matomo Analytics)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!-- Code generated by Analytics service obtained upon registration -->
<script>
  var _paq = window._paq = window._paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="https://{platformDomainUrl}.matomo.cloud/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '1']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.async=true; g.src='//cdn.matomo.cloud/{platformDomainUrl}.matomo.cloud/matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>

<!-- Custom VAP Events Tracking Code -->
<script>
    window._onTrackUserEvent = function (e) {
        _paq.push(['setUserId', e.userId || '']);
        _paq.push(['trackEvent', e.category, e.action, e.label, e.value]);
    }
</script>

Event Category/Action/Label Values

In the table below you can find all the possible values for the events:

Event CategoryEvent ActionEvent LabelDescription
AppStorecancel, click-install, successuid; solution nameinstalling an application or add-on from the Marketplace
ConfigManagerread, write, uploaduid; pathactions performed in the Configuration Manager
Deploy-Archivedefault, failed, custom, clickuid; archive file namedeploying the application
Docker-Redeploysuccess, faileduidtracked after node redeploy success
Env-Createclick, basic-success, expert-success, expert-faileduidcreating a new environment
Env-Wizardcost-details-hintuid; user group; wizard modeediting environment topology
FloatMenu-Balancerrun, node-config, node-stat, node-log, node-restart, node-solutions, docker-redeploy, guacamoleuidusing the options of the NGINX-balancer node tool menu
FloatMenu-Buildnodebuild-project-add, node-log, node-config, node-stat, node-solutions, docker-redeploy, guacamoleuidusing the options of the Maven build node tool menu
FloatMenu-Buildprojectadd-project, build-project-run, build-project-run-and-deploy, build-project-edit, build-project-config, build-project-log, build-project-deleteuidbuild the project via Maven
FloatMenu-Buildprojectsrootbuild-project-config, build-project-log, build-project-adduidbuild the ROOT project via Maven
FloatMenu-Cachenode-log, node-config, node-stat, node-restart, node-solutions, docker-redeploy, guacamoleuidusing the options of the Memcached node tool menu
FloatMenu-Computenode-config, node-log, run, node-restart, node-stat, node-solutions, add-php-context, docker-redeploy, guacamoleuidusing the options of the application server node tool menu
FloatMenu-Contextcontext-open, context-delete, context-vcs-edit, context-vcs-updateuidmanaging the context of the deployed project
FloatMenu-Databaserun, node-config, node-log, node-restart, node-stat, node-solutions, docker-redeploy, guacamoleuidusing the options of the database server node tool menu
FloatMenu-Deploymentsdeploy-file, deploy-url, deploy-vcsuiddeploying an application from the archive
FloatMenu-Envdelete, edit, settings, run, clone, switchuidusing the options of the environment tool menu
FloatMenu-Vdsrun, node-stat, node-restart, node-log, node-config, node-solutions, docker-redeploy, guacamoleuidusing the options of the VPS node tool menu
QuotasPricing-Widgetaccount-cld-cost-tab, account-storage-cost-tab, account-network-cost-tab, account-options-cost-tab, account-quotas-tab, account-software-tabuid; user groupreview pricing information
Show-Tutorialmaintoolbaruid; user groupusing the tutorial for the beginners
Tutorialstopuid; group or current tipcompleting the tutorial or just stopping it
Upload-Archivesuccess, cilck, faileduid; archive nameuploading the archive
User-Accountmaintoolbar6672; billingusing account settings
User-AutoRefillmaintoolbar, add-paymentuidusing the auto-refill option
User-BillingHistorytrial-menu, maintoolbaruid; user groupclicking Balance > Billing History button
User-ChangePasswordmaintoolbaruid; user groupchanging the password
User-CheckGroupbilling, beta, trialuidcalled alongside signing in the dashboard
User-ConvertAccountshow-trial-menu, pricing-widget, wizard-notice, user-convert-invitationuidrequesting account upgrade
User-HosterPricingtrial-menuuid; source menureviewing hoster pricing
User-HosterSupportmmaintoolbar, convert-refill, refill, account-limitsuid; user groupclicking Help > Contact Support button
User-JelasticCommunitymaintoolbaruid; user groupnavigating to the community
User-JelasticDocsmaintoolbar, wizarduid; user groupnavigating to the documentation from the dashboard
User-JelasticVideosmaintoolbaruid; user groupclicking Help > Video button
User-QuotasPricingmaintoolbar, trial-menu, wizarduid; user groupclicking Balance > Quotas & Pricing button
User-RefillAccountbalance-btn, submit-click, add-success, declined, refresh-btn, confirm-yes, msg-suspended-accountuid; newclicking on the Refresh balance, Refill Balance buttons and refilling through message about account has been suspended
User-Searchsearch requestsuidusing How do I…? search box
User-Settingsmaintoolbaruid; billingusing user settings
User-Signinsuccess, faileduid or guestsigning in to the dashboard (both successful and failed)
User-Signupclick, by-link, successguestsigning up
User-Termsconvert-dlguidviewing terms of service
User-ViewInvoicesmaintoolbaruidusing the View Invoices button

What’s next?