bitapps/wp-telemetry

A simple telemetry library for WordPress.

Maintainers

👁 Bit-Apps-Pro

Package info

github.com/Bit-Apps-Pro/wp-telemetry

Homepage

pkg:composer/bitapps/wp-telemetry

Statistics

Installs: 7 124

Dependents: 0

Suggesters: 0

Stars: 2

Open Issues: 0

v0.0.9 2024-10-09 10:08 UTC

Requires

  • php: >=5.6

Suggests

None

Provides

None

Conflicts

None

Replaces

None

GPL-2.0-or-later 6d9f5577396fe5e0ee96a7c9f05838d9f47e8721

  • BitApps <developer.woop@bitcode.pro>

wordpresswptelemetry

This package is auto-updated.

Last update: 2026-06-09 14:04:00 UTC


README

This package provides a simple way to add telemetry tracking to your WordPress plugin. It sends weekly reports to your server with information about the plugin's usage.

Usage

1. Installation

Install the package using composer:

composer require bitapps/wp-telemetry

2. Create a Telemetry Client

Initialize the telemetry client in your plugin's bootstrap file.

function initialize_telemetry_client()
{
 TelemetryConfig::setTitle($title);
 TelemetryConfig::setSlug($plugin_slug);
 TelemetryConfig::setPrefix($plugin_prefix);
 TelemetryConfig::setVersion($plugin_version);

 TelemetryConfig::setServerBaseUrl( 'https://api.example.com/' );
 TelemetryConfig::setTermsUrl( 'https://example.com/terms/' ); // (optional)
 TelemetryConfig::setPolicyUrl( 'https://example.com/privacy/' ); // (optional)

 Telemetry::report()->init(); // initialize telemetry tracking
 Telemetry::feedback()->init(); // initialize deactivation feedback survey
}

initialize_telemetry_client();

You are good to go! 👍️

The telemetry client will start sending data weekly to your configured server url.

Configuration

# Activate/Deactivate Telemetry Tracking

You can add a setting in your plugin settings page to allow users to opt-in or opt-out of telemetry tracking. You can use the following methods to change the opt-in/opt-out status.

⚡️ Opt In :

Telemetry::report()->trackingOptIn();

⚡️ Opt Out :

Telemetry::report()->trackingOptOut();

⚡️ Check if tracking is enabled

Telemetry::report()->isTrackingAllowed();

# Tracking Report Modify

⚡️ Filter Hook to Add Additional Data :

This filter allows adding additional data to track information used by the plugin. You can modify the additional_data array to include any custom data needed.

add_filter($plugin_prefix . 'telemetry_additional_data', 'customize_additional_data', 10, 1);

function customize_additional_data($additional_data)
{
 // Do your stuffs here
 return $additional_data;
}

⚡️ Filter Hook To Modify Telemetry Data :

This filter allows modifying the telemetry data before sending it to the server. You can modify the $telemetry_data array to include any custom data needed.

add_filter($plugin_prefix . 'telemetry_data', 'customize_telemetry_data', 10, 1);

function customize_telemetry_data($telemetry_data)
{
 // Do your stuffs here
 return $telemetry_data;
}

⚡️ Add plugin information in tracking data

Telemetry::report()
 ->addPluginData()
 ->init();

# Deactivation Feedback Survey

⚡️ Filter Hook to Add Deactivate Reasons :

This filter allows adding additional deactivate reasons to the feedback survey. You can modify the deactivate_reasons array to include any custom reasons needed.

add_filter($plugin_prefix . 'deactivate_reasons', 'add_deactivate_reasons', 10, 1);

function add_deactivate_reasons($deactivate_reasons)
{
 // example of adding a custom deactivate reason
 $deactivate_reasons[] = [
 'title' => 'What could we have done to improve your experience?',
 'placeholder' => 'Please provide your feedback here',
 ];

 return $deactivate_reasons;
}