abr4xas/clarity-laravel

Easy integration of Microsoft Clarity into your Laravel application.

Fund package maintenance!
angelcruz.dev/donate

Installs: 6 636

Dependents: 0

Suggesters: 0

Security: 0

Stars: 52

Watchers: 1

Forks: 1

v1.5.0 2024-08-15 00:04 UTC

This package is auto-updated.

Last update: 2024-11-15 00:31:07 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

Easy integration of Microsoft Clarity into your Laravel application.

Installation

You can install the package via composer:

composer require abr4xas/clarity-laravel

You can publish the config file with:

php artisan vendor:publish --tag="clarity-config"

This is the contents of the published config file:

<?php

return [
    'id' => env('CLARITY_ID', 'XXXXXX'),
    'enabled' => env('CLARITY_ENABLED', true),
];

Optionally, you can publish the views using

php artisan vendor:publish --tag="clarity-views"

Usage

General Tracking

  • Create an account: The first thing you need to do is create an account on Microsoft Clarity. You can sign up on their website and follow the steps to create your account. Then, get your tracking code and that's it.
  • Simply add the blade components to your base layout files.

The enabled attribute is optional, but can be used to control the tags integration from blade files that extend the base layout. It accepts true/false. This can still be controlled globally via the .env file should you need to disable the integration global on different environments as well.

<!-- Should be placed in the head -->
<x-clarity::script :enabled="$enabled" />

Identify API

To implement the Identify API, use identify component. Set CLARITY_IDENTIFICATION_ENABLED value to true on the env file.

Attributes:

  • user attribute is required accepts the User Model instance or any object. The email and name attributes are used.
  • enabled attribute is optional.
  • custom_session_id attribute is optional.
  • custom_page_id attribute is optional.
@auth
    <x-clarity::identify :user="request()->user()"/>
@endauth

This will compile as:

window.clarity("identify", "user@example.com", null, null, "Username")

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

This package is strongly inspired by Google Tag Manager for Laravel created by @awcodes.