How to configure telemetry in Sylius?

Sylius includes an optional telemetry module that helps the project understand real-world usage. The collected data is anonymous, technical, and aggregated. It never includes personal information, store identifiers, or business-sensitive details.

This page explains how to configure telemetry, how to control it per environment, how to partially or fully opt out, and how Sylius ensures that telemetry remains safe for all users, including commercial production stores.

1. What & Why

circle-check

2. Default Configuration

Telemetry is on by default in production environments, with all categories enabled. It is automatically disabled in dev and test environments.

Environment
Telemetry

dev, dev_local

Disabled

test, test_cached

Disabled

prod

Enabled

staging

Enabled

3. Configuring Telemetry

3.1 Environment Variables Reference

Variable
Default
Description

SYLIUS_TELEMETRY_ENABLED

true (prod)

Master switch for all telemetry

SYLIUS_TELEMETRY_BUSINESS

true

Business metrics (GMV, AOV, orders, customers)

SYLIUS_TELEMETRY_TECHNICAL

true

Technical data (PHP, Symfony, DB versions)

SYLIUS_TELEMETRY_PLUGINS

true

Installed plugins list

SYLIUS_TELEMETRY_SALT

auto-generated

Salt for anonymous installation ID

3.2 Full Telemetry (Default)

Output (example)

3.3 Technical Data Only

Output (example)

3.4 Business Data Only

Output (example)

3.5 Soft Opt-Out (New Identity)

Resets the anonymous installation ID without disabling telemetry.

3.6 Full Opt-Out

4. Installation ID Control

Sylius uses an anonymous installation ID based on a salt. To regenerate it, just change the salt:

5. Telemetry Frequency

Telemetry attempts to send once per week (every 7 days) when an admin accesses the dashboard.

5.1 Retry Behavior

If sending fails or is blocked:

  • The system will retry up to 3 times

  • Retries occur with a 24-hour delay between attempts

  • Failed telemetry data is cached and reused for retry attempts

5.2 Data Period

Each telemetry payload includes a period field indicating the time range for aggregated metrics:

Business metrics (orders, GMV, AOV, payments, shipments) are calculated for the last 30 days.

Last updated

Was this helpful?