107

Product support

Get help in the plugin support forum.

Categories

Simple analyse the traffic of your website without relying on an external service. The simple version of this plugin (see 'Advanced Analytics for OctoberCMS' for more details) does not use JavaScript and can be used "Consent-Free" according to the GDPR (See 'Legal Information' below).

Attention: Synder.Analytics requires PHP 7.4+!

Features

Simple Analytics does not include any JavaScript on your website, all information are collected on the server-side. While this should actually provide enough data, it is of course not always as precise as with JavaScript-based support.

  • Simple URL and Visit / View counters
    • ... also usable as Twig variables / filters on your frontend website
  • Simple but limited Bot-Detection (Humanity testing)
  • Simple but limited Referrer collection
  • Simple but limited Browser and OS detection (JavaScript-less)
  • A bunch of graphical statistics within 4 configurable dashboard widgets

Bot-Detection

The Bot-Detection is based on a value counting from 0.1 (should be human) to 5.0 (should be bot) and is based on the following values (*-marked values must be configured before):

  • User Agent
  • Browser / OS
  • Request Header
  • * robots.txt trap
  • * invisible link trap

The Advanced Analytics plugin contains additional, Cookie and JavaScript-based, solutions. You can find more details about each single value and technique in the documentation.

Coming Soon

The following features may be part of a future release.

  • Simple but limited trace/route -tracking
  • An own admin page with extended access to the data collections
    • ... with an Response-Code tracker to find 400 error pages

Advanced Analytics for OctoberCMS

We're currently working on an extended version of this plugin, which adds the following features:

  1. Event Monitoring - Define and Monitor custom events on your website
  2. Referral Links - Create referral links to monitor third-party linkings.
  3. Cookie Tracking - A GDPR-compliant but NOT Consent-free User Tracking
  4. Consent-Support - Own Consent Banner or support of an consent banner plugin
  5. Extended Collections for referrers, browser & os datas and trace details
  6. JavaScript-supported Humanity-Testing - Extended Bot-evaluation & detection

More may be added during the development. The Advanced Analytics plugin will be available as a paid addition for this plugin and won't replace the free version.

Requirements

Compatible With

The robots.txt honeypot can be used without additional dependencies, but if one of the following plugins is found, those functionality will be used instead.

Legal Information

The Simple version of this plugin is designed to be used consent-free, since it does NOT use cookies or store personal (or similar related) data in a way that permits traceability. The user tracking is based on a daily-changing database-stored hashed value, consisting of the IP address, the user agent, the current date as well as the application key of your OctoberCMS website. We're using PHP's hash_hmac function, used with SHA1 as algorithm and the OctoberCMS application key as key.

Of course, this method also affects the quality and reduces the evaluability of the collected data and makes it impossible to track a single user across days, browsers or devices. Nevertheless, you will get enough usable data without having to obtain the visitor's consent in advance.

Attention: This plugin is designed to comply with the GDPR (European General Data Protection Regulation), however, from a legal point of view we cannot give any guarantees. The use of this plugin is therefore at your own risk, contact us at october@synder.dev if you need some information or explicit details of how this plugin works.

Honest Reviews are always welcome

We really appreciate it if you leave us an honest review, if you're missing a feature or encounter a bug please don't hesitate and open an issue on our GitHub repository or write us an e-mail at october@synder.dev. Thanks!

Available Statistics \1

How can I use the views and visits in my template?

The global page property, which is available natively on each page, receives a new synderstats array, which contains the following values:

  • synderstats.views - The 'View' counter of all time for the current page
  • synderstats.visits - The 'Visit' counter of all time for the current page

Additionally, you can also use the Twig filters synderviews or syndervisits to receive the view or visit counter according to the passed path (similar to the native app filter).

You can access both of them like shown below:

<div class="current-page-stats">
    Current Views: {{ this.page.synderstats.views }}
    Current Visits: {{ this.page.synderstats.visits }}
</div>

<div class="another-page-stats">
    Views from another Page: {{ '/another-page'|synderviews }}
    Visits from another Page: {{ '/another-page'|syndervisits }}
</div>

What is the difference between View and Visit?

In the context of this plugin a View is the general counter, so each time a URL is called a view will be counted. A Visit on the other hand is a filtered value and counts only once per session, per day and of course per URL.

The Simple Analytics plugin is not able to detect and track so-called Unique Visits, which counts and collects data directly to the user and also beyond different sessions or devices. Therefore, we call it only Visits and simply refer to the browser session instead of the user itself. However, this allows us to create a cookie and consent-free Analytics tools, at least for legal use in the EU.

How does the Bot Protection work?

Nowadays it is almost impossible to determine exactly whether a call was made by a user or a bot, since many bots pretend to be people and some users pretend to be bots (in order not to be tracked). Thus, we're using multiple procieedings to calculate a probability:

User Agents Good bots, like Crawlers or cURL-interfaces, reveal themselves by using special User Agents, such as 'Googlebot/2.1' or 'python-requests'. However, some people do the same with the aim of exploiting precisely such mechanisms, but since the proportion of these people is very low we count this value very high, at least to exclude bots.

Browser / OS versions Highly outdated browsers (such as IE 1 up to 7 or Netscape) and operating systems (such as Windows 3.1 or Windows 2000) are often used or pretend to be used by bots but also very rarely by humans (like doctors). We receive this information from the user agent on the Simple Analytics version, and with JavaScript support on the Advanced Analytics version.

Request Header The Simple Analytics plugin also scans the received Request Headers for typical entries, such as DNT and similar ones, which are most-likely set by real humans or explicitly used by specific bots. Of course, this value is not high ranked, since many bots are smart enough to add known headers as well.

robots.txt The robots.txt file contains access and index rules for search-engine crawler bots, such as Google, and allows us to define URLs which aren't called by such ones. However, some bad bots look explicitly for such URLs and will access them, which will lead them to a generated honeypot page. In our experience this technique is no longer quite as successful as it was in the past, but it still frees our statistics from outdated bot engines.

Invisible Link An invisible link works similar to the robots.txt technique, but places the honeypot URL to the footer of your website. While human users will not see this link, many crawler bots will. This technique is definitely more effective then using the robots.txt, but of course, it doesn't filter everything either.

What does a bot probability of 0.0 mean, when 0.1 is the initial value?

The value 0.0 means, that the bot probability could not been detected, either because not enough data are available to allow an evaluation yet, or because you enabled the lazy evaluation option and use the bot probability value outside of the backend statistics pages. Keep in mind: The Lazy evaluation option disables the probability calculation, when accessed on the frontend, to not impact the performance.

Why does the bot probability value change afterwards?

The bot probability value consists of multiple values and behaviours some of these can only be recorded and fulfilled retrospectively or refers to a steadily growing collection of data. To provide as natural data as possible, the system updates the bot probability with each added and received value.

  • Found the plugin useful on 29 Jul, 2021

    Great plugin, I'm keeping my eye on this one! Many of my clients want "google analytics" but only look at these basic data points (if the look at all). This is a great solution which does not require a cookie consent.

  • author

    Replied on 29 Jul, 2021

    Thanks for your review, I'm glad that you like it.

1.1.2

Version 1.1.2 - Small Fix (Check CHANGELOG.md for details)

Aug 03, 2021

1.1.1

Version 1.1.1 - Small Fix (Check CHANGELOG.md for details)

Aug 03, 2021

1.1.0

Version 1.1.0 - New Features (Check CHANGELOG.md for details)

Aug 03, 2021

1.0.2

Version 1.0.2 - Bugfixes (Check CHANGELOG.md for details)

Aug 03, 2021

1.0.1

Small Bugfixes.

Jul 28, 2021

1.0.0

First Version.

Jul 28, 2021