<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Arthur Geneau</title>
    <description>The latest articles on DEV Community by Arthur Geneau (@labbedrat).</description>
    <link>https://dev.to/labbedrat</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3849774%2F1a8cb4db-ee91-4553-bbc0-9c91d8953f74.png</url>
      <title>DEV Community: Arthur Geneau</title>
      <link>https://dev.to/labbedrat</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/labbedrat"/>
    <language>en</language>
    <item>
      <title>How to start collecting web analytics using only HTML and Filasys.</title>
      <dc:creator>Arthur Geneau</dc:creator>
      <pubDate>Wed, 08 Apr 2026 01:31:17 +0000</pubDate>
      <link>https://dev.to/filasys/how-to-start-collecting-web-analytics-using-only-html-and-filasys-1lje</link>
      <guid>https://dev.to/filasys/how-to-start-collecting-web-analytics-using-only-html-and-filasys-1lje</guid>
      <description>&lt;p&gt;Web analytics is a critical component in building any successful website.&lt;/p&gt;

&lt;p&gt;Whether for SEO purposes or improving user experience, websites need to collect data in order to see how it performs, what works well, and what can be improved.&lt;/p&gt;

&lt;p&gt;In this tutorial, we will see how we can start collecting enterprise-level web analytics in a website using only one &lt;strong&gt;(and we mean 1)&lt;/strong&gt; line of html in a website.&lt;/p&gt;

&lt;h1&gt;
  
  
  Before we begin
&lt;/h1&gt;

&lt;p&gt;The website used in this tutorial is a mock online shop used solely for the purpose of this tutorial. Its source code code can be found &lt;a href="https://github.com/Filasys/web-sdk-starter" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://filasys.com" rel="noopener noreferrer"&gt;Filasys&lt;/a&gt; is a data-analytics platform build for creating custom analytics.&lt;/p&gt;

&lt;p&gt;Cookieless tracking will be used for this example. This means that sessions will be tracked without the use of cookies. Filasys uses a special technique to generate anonymized session ids when doing cookieless tracking.&lt;/p&gt;

&lt;p&gt;For this tutorial, we will need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://git-scm.com/" rel="noopener noreferrer"&gt;Git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://filasys.com" rel="noopener noreferrer"&gt;Filasys&lt;/a&gt; account to manage data collection.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Setting up the project
&lt;/h1&gt;

&lt;p&gt;In order to save time, we have a pre-made project set up on github.&lt;/p&gt;

&lt;p&gt;We start by cloning the project by running the following command in the command line:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Filasys/web-sdk-starter.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Alternatively, we can also visit the github page and download the project as a zip file:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkrnzz0zqsexnfy1sl5od.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkrnzz0zqsexnfy1sl5od.png" alt="Screenshot of the download zip button" width="608" height="516"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The contents of the project should be as follow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- index.css
- index.html
- index.js
- lemons.jpg
- logo-icon.png
- oranges.jpg
- readme.md
- strawberries.jpg
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;index.html&lt;/code&gt; file contains the html code for the website, &lt;code&gt;index.css&lt;/code&gt; the styling and &lt;code&gt;index.js&lt;/code&gt; is here to make the website reactive (not necessary for collecting data).&lt;/p&gt;

&lt;p&gt;The various images are here to make the website more interesting than just showing text.&lt;/p&gt;

&lt;p&gt;We can ensure that the project works by opening &lt;code&gt;index.html&lt;/code&gt; from a file explorer into a browser. The following page should be on display:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F12fy8gx72u28thywca7h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F12fy8gx72u28thywca7h.png" alt="Screenshot of the website" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Collecting data
&lt;/h1&gt;

&lt;p&gt;In order to collect the data, we first need to create a project on Filasys to store it.&lt;/p&gt;

&lt;p&gt;On the filasys console, we go to the "Projects" tab, a create a new project. In order to match the Web SDK, we need to make sure to select the Web Analytics preset before the project creation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4nb6etogrol2ahr63e5v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4nb6etogrol2ahr63e5v.png" alt="Project creation screenshot" width="800" height="316"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, in the project overview, we select "Web SDK" under Integration, make sure that "Auto Start" in selected, and copy the line of html under it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvrz0fa69pywemn0vmtcw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvrz0fa69pywemn0vmtcw.png" alt="Project overview with auto start" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can then paste the line of HTML into the head of our document in &lt;code&gt;index.html&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9f31liiy4v7lexsc5j7m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9f31liiy4v7lexsc5j7m.png" alt="script line in html" width="800" height="186"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And we are done! Now opening the page will start collection session and performance information about the page. (Make sure to reload the page for the changes to apply)&lt;/p&gt;

&lt;p&gt;If we open the page, visit the "Events" tab of the project, select "Session Events" and go to "Logs", you will start seeing some events (&lt;em&gt;It may take a minute or two for the events to appear&lt;/em&gt;):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ymt8tb9ycsxm55gja1o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1ymt8tb9ycsxm55gja1o.png" alt="Session event logs" width="800" height="210"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Additionally, if we go to the "Dashboards" tab, and visit the "Performance Analytics" or "Session Analytics" dashboard, we can start observing some charts:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg6qva9h4dh9fat8zdjbc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg6qva9h4dh9fat8zdjbc.png" alt="Performance Analytics Dashboard" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Going the extra mile
&lt;/h1&gt;

&lt;p&gt;The Web SDK can also track interactions with the website, alongside some details for the interaction.&lt;/p&gt;

&lt;p&gt;To that effect, we can add two different attributes to buttons in our website: &lt;code&gt;data-filaction&lt;/code&gt; and &lt;code&gt;data-filadetails&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;data-filaction&lt;/code&gt; is used to describe the kind of interaction we are tracking. We will choose to track &lt;code&gt;click&lt;/code&gt; interactions.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;data-filadetails&lt;/code&gt; is optional and needs to be set together with &lt;code&gt;data-filaction&lt;/code&gt;. The value for this attribute can be anything and will be recorded as the interaction details.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Going back to the HTML, we can modify the buttons as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"add-to-cart"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"add-strawberries"&lt;/span&gt; &lt;span class="na"&gt;data-filaction=&lt;/span&gt;&lt;span class="s"&gt;"click"&lt;/span&gt; &lt;span class="na"&gt;data-filadetails=&lt;/span&gt;&lt;span class="s"&gt;"add-strawberries"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Add To Cart&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="c"&gt;&amp;lt;!-- ... --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"add-to-cart"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"add-oranges"&lt;/span&gt; &lt;span class="na"&gt;data-filaction=&lt;/span&gt;&lt;span class="s"&gt;"click"&lt;/span&gt; &lt;span class="na"&gt;data-filadetails=&lt;/span&gt;&lt;span class="s"&gt;"add-oranges"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Add To Cart&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="c"&gt;&amp;lt;!-- ... --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"add-to-cart"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"add-lemons"&lt;/span&gt; &lt;span class="na"&gt;data-filaction=&lt;/span&gt;&lt;span class="s"&gt;"click"&lt;/span&gt; &lt;span class="na"&gt;data-filadetails=&lt;/span&gt;&lt;span class="s"&gt;"add-lemons"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Add To Cart&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class="c"&gt;&amp;lt;!-- ... --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"button"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"checkout"&lt;/span&gt; &lt;span class="na"&gt;data-filaction=&lt;/span&gt;&lt;span class="s"&gt;"click"&lt;/span&gt; &lt;span class="na"&gt;data-filadetails=&lt;/span&gt;&lt;span class="s"&gt;"checkout"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Checkout&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now interacting with the buttons on the web page will send some interaction events matching the configuration of the buttons.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvtu4cwfzx4dz2d1mq0ka.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvtu4cwfzx4dz2d1mq0ka.png" alt="Interaction events" width="800" height="417"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;In this tutorial, we've shown how to set up web analytics using only HTML.  Now performance events and session events are automatically collected, as well as interactions with the website.&lt;/p&gt;

&lt;p&gt;If you want to learn more about the Web SDK and the events being collected, you can check out our &lt;a href="https://docs.filasys.com/web-sdk" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>html</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
