Laravel

PostHog makes it easy to get data about traffic and usage of your Laravel app. Integrating PostHog enables analytics, custom events capture, feature flags, and more.

This guide walks you through integrating PostHog into your Laravel app using the PHP SDK.

Installation

First, ensure Composer is installed. Then run composer require posthog/posthog-php to install PostHog’s PHP SDK.

Next, initialize PostHog in the boot method of app/Providers/AppServiceProvider.php:

app/Providers/AppServiceProvider.php
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use PostHog\PostHog;
class AppServiceProvider extends ServiceProvider
{
public function boot(): void
{
PostHog::init(
'<ph_project_api_key>',
[
'host' => 'https://us.i.posthog.com'
]
);
}
}

You can find your project API key and instance address in your project settings.

Usage

To access your PostHog client anywhere in your app, import use PostHog\PostHog; and call PostHog::method_name. For example, below is how to capture an event in a simple route:

routes/web.php
<?php
use Illuminate\Support\Facades\Route;
use PostHog\PostHog;
Route::get('/', function () {
PostHog::capture([
'distinctId' => 'distinct_id_of_your_user',
'event' => 'route_called'
]);
return view('welcome');
});

Next steps

For any technical questions for how to integrate specific PostHog features into Laravel (such as analytics, feature flags, A/B testing, etc.), have a look at our PHP SDK docs.

Alternatively, the following tutorials can help you get started:

PostHog is an all-in-one developer platform for building successful products. We provide product analytics, web analytics, session replay, error tracking, feature flags, experimentation, surveys, LLM analytics, data warehouse, a CDP, and an AI product assistant to help debug your code, ship features faster, and keep all your usage and customer data in one stack.

Community questions

Was this page useful?

Questions about this page? or post a community question.