Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pixel-open/prestashop-plausible

Add Plausible Analytics in Prestashop.
https://github.com/pixel-open/prestashop-plausible

plausible plausible-analytics prestashop prestashop-module

Last synced: 4 months ago
JSON representation

Add Plausible Analytics in Prestashop.

Awesome Lists containing this project

README

        

# Prestashop Plausible

[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.2-green)](https://php.net/)
[![Minimum Prestashop Version](https://img.shields.io/badge/prestashop-%3E%3D%201.7.6.0-green)](https://www.prestashop.com)
[![GitHub release](https://img.shields.io/github/v/release/Pixel-Open/prestashop-plausible)](https://github.com/Pixel-Open/prestashop-plausible/releases)

## Presentation

Add Plausible Analytics in Prestashop.

![Screenshot](screenshot.png)

## Requirements

- Prestashop >= 1.7.6.0
- PHP >= 7.2.0

## Installation

Download the **pixel_plausible.zip** file from the [last release](https://github.com/Pixel-Open/prestashop-plausible/releases/latest) assets.

### Admin

Go to the admin module catalog section and click **Upload a module**. Select the downloaded zip file.

### Manually

Move the downloaded file in the Prestashop **modules** directory and unzip the archive. Go to the admin module catalog section and search for "Plausible".

## Configuration

From the module manager, find the module and click on configure.

| Field | Description | Example | Required |
|:-----------------------|:------------------------------------------------------------------------------------------------------|----------------------------------------------------------|----------|
| Add JavaScript snippet | Enable stats by including the Plausible snippet in the head of your website | Yes | Y |
| Plausible Instance URL | Your plausible instance URL. Allow to use a custom domain for dedicated instance | https://plausible.io | N |
| Shared Link | The shared link allows to display stats in the "Statistics > Plausible" menu | https://plausible.io/share/website.prestashop?auth=xxxxx | N |
| Enable goals | Enable goal events: contact, cart, checkout-step-X, order, category, product | Yes | Y |
| Revenue Tracking | Enable Revenue Tracking (Plausible business plan only). Revenue is sent with the order goal. | Yes | Y |
| Contact goal name | Plausible goal name when customer send a contact message. Leave empty to ignore. | contact | N |
| Cart goal name | Plausible goal name when customer goes to the cart. Leave empty to ignore. | cart | N |
| Checkout goal name | Plausible goal name prefix when customer goes to a checkout step {goalName}-X. Leave empty to ignore. | checkout-step | N |
| Order goal name | Plausible goal name when customer submits order. Leave empty to ignore | order | N |

Create the **shared link** in your Plausible settings for the site in *Visibility > Shared links > + New link*

## Stats

In the Prestashop admin, the Plausible stats are available in the *Statistics > Plausible* menu.

## Goals

The module includes goal events when enabled in module configuration.

- Category page view
- Product page view
- Contact message sent
- Account registration
- Cart view
- Checkout step X
- Order complete

You need to add goal events in your Plausible website configuration:

![Plausible Goals](goals.png)

The Plausible goal name must be the same as the name in the Prestashop module configuration.

Default goal names are:

- category
- product
- contact
- register
- cart
- checkout-step-1
- checkout-step-2
- checkout-step-3
- checkout-step-4
- order

### Revenue Tracking

With the goal "order", the "revenue tracking" can be sent ("Revenue Tracking" option in module configuration). **This feature is only available with Plausible business plan.**

When you add the "order" goal, you need to enable the "Revenue Tracking":

![Plausible Revenue Tracking](revenue.png)

### How to add a custom goal?

In any template or JS file, use the `plausible` method to send the event to Plausible. Example:

```html

const myButton = document.getElementById('my-form-button');
if (myButton) {
myButton.addEventListener('click', function() {
plausible('my-form-button'); // "my-form-button" is the Plausible goal event name
});
}

```