Events

You can track arbitrary small events on your websites without creating new leads or conversions for them. This is useful, for example, if you want to know the bounce rate of visitors who spent less than 10 seconds on your site, or the number of visitors who fully opened the site and who scrolled. Each event is assigned to a click, allowing you to later evaluate the number of events, their conversions, and the bounce rate.

Setting up events

Events can be configured in the "Statistics" and "Analytics" sections. Go to one of these sections and click on the "Event" (two lines) button above the table.

Setting up events

A pop-up window with event settings will open:

You can use up to five different events at the same time. After activating the events, you can set up a special kind of statistics section.

Statistics by events

In the statistics section, you can enable additional columns for each of the events: the number, conversion, and bounce rates for clicks, uniques, or next-step transitions. The bounce rate (decline rate) in this case is simply the inverse of the conversion rate.

The following fields are used in the event statistics:

How do I send an event?

To create an event, you need to send a GET request to your flow link and specify the event parameters:

You can specify either a symbolic or numeric event ID. Required fields are event+ev or event+ei, respectively.

Use the dup=1 parameter only if you really need to collect the same event multiple times for the same click. This can result in a negative bounce rate in your statistics, and conversion rate exceeding 146%.

Example link for sending an event:

https://click.domain.com/a1b2c3d4e5f6?event={click}&ev=pageview

Instead of https://click.domain.com/a1b2c3d4e5f6, you should use your flow link. Not the postback, but the actual flow link, the one you're sending traffic. You can use the tracker's standard domain, or any parked domain.

If you plan to track events via a postback, for example, counting mobile app installs, pass the flow ID to one of the target site's tags. For example: subid={click}&source={flow}. This way, you can use a link like http://domain/{source}?event={subid}&ev=install with all flows at once.

Popular scenarios

The most common use case for custom events is to analyze teaser traffic for bots. In this case, we track three events: pageview for the visit time, scroll for page scrolling, and click for a click somewhere on the page. This code must be added to your site's storage, it won't work on third-party sites.

Pageview and bounce rate

For tracking, we create an event called pageview and include conversion and bounce rates in the statistics based on the total number of clicks.

Implementation via request:

<script type="text/javascript">
setTimeout(() => {
  fetch(location.pathname + '?event={click}&ev=pageview', { method: 'GET', keepalive: true }).catch(() => {});
}, 10000);
</script>

Implementation via image:

<script type="text/javascript">
setTimeout(() => {
  (new Image()).src = location.pathname + '?event={click}&ev=pageview';
}, 10000);
</script>

Page scroll

For tracking, create an event named scroll and include conversion to clicks or uniques and the number of events in the statistics.

Implementation via request:

<script type="text/javascript">
addEventListener('scroll', function f() {
  removeEventListener('scroll', f);
  fetch(location.pathname + '?event={click}&ev=scroll', { method: 'GET', keepalive: true }).catch(() => {});
}, { passive: true });
</script>

Implementation via image:

<script type="text/javascript">
addEventListener('scroll', function f() {
  removeEventListener('scroll', f);
  (new Image()).src = location.pathname + '?event={click}&ev=scroll';
}, { passive: true });
</script>

Page click

For tracking, create an event named click and include the click conversion rate and event count in the statistics.

Implementation via request:

<script type="text/javascript">
addEventListener('click', function f() {
  removeEventListener('click', f);
  fetch(location.pathname + '?event={click}&ev=click', { method: 'GET', keepalive: true }).catch(() => {});
}, { passive: true });
</script>

Implementation via image:

<script type="text/javascript">
addEventListener('click', function f() {
  removeEventListener('click', f);
  (new Image()).src = location.pathname + '?event={click}&ev=click';
}, { passive: true });
</script>