PHPackages                             greenpeace/planet4-gpch-plugin-optimize - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. greenpeace/planet4-gpch-plugin-optimize

ActiveWordpress-plugin[Testing &amp; Quality](/categories/testing)

greenpeace/planet4-gpch-plugin-optimize
=======================================

A/B Testing and Personalization for Planet4 and Mixpanel

v0.5(2w ago)41.6k1[7 issues](https://github.com/GreenpeaceSchweiz/planet4-gpch-plugin-optimize/issues)GPL-2.0-or-laterJavaScript

Since Feb 19Pushed 2w ago1 watchersCompare

[ Source](https://github.com/GreenpeaceSchweiz/planet4-gpch-plugin-optimize)[ Packagist](https://packagist.org/packages/greenpeace/planet4-gpch-plugin-optimize)[ RSS](/packages/greenpeace-planet4-gpch-plugin-optimize/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (2)Versions (26)Used By (0)

Planet4 GPCH Optimize Plugin
============================

[](#planet4-gpch-optimize-plugin)

Testing and personalization functionality for WordPress/Planet4 websites that use Mixpanel for web analytics.

Content optimizations can now be used in two modes:

- `Experiment`: tracked optimization that sends experiment events to the configured analytics destination.
- `Personalization`: tailored content that does not send experiment events.

Functionality
-------------

[](#functionality)

- Set up in-page content optimizations directly from the Gutenberg editor in either `Experiment` or `Personalization` mode
- Split URL testing directly from the Gutenberg editor
- Weighted random targeting for content variants (e.g. 70% variant A, 30% variant B)
- Personalized content bases on:
    - URL parameters (including UTM tags)
    - localStorage and sessionStorage
- Sends experiment data either directly to the Mixpanel JavaScript SDK or to dataLayer (Tag Manager) when a content optimization is in `Experiment` mode

In-Page Optimization Modes
--------------------------

[](#in-page-optimization-modes)

When editors insert a content optimization block, they are asked whether they are creating an `Experiment` or `Personalization`. The selected mode can also be changed later in the block settings.

- `Experiment` mode is intended for A/B tests and multivariate tests. It sends experiment events to the configured analytics destination.
- `Personalization` mode is intended for showing targeted content without experiment tracking.
- Existing content optimization blocks default to `Experiment` mode so existing experiments keep their previous behavior.

Measurement and evaluation of experiments is not part of this plugin.

`Experiment` mode can be used in conjunction with the [Mixpanel experiments](https://docs.mixpanel.com/docs/reports/apps/experiments) feature. Conversion events also need to be set up separately for Mixpanel.

Documentation
-------------

[](#documentation)

- [Setup](documentation/setup.md)
- [Setting up an in-page experiment](documentation/setting-up-an-experiment.md)
- [Using split URL tests](documentation/using-split-url-tests.md)
- [Personalize content](./documentation/personalization.md)
- [Evaluating experiments in Mixpanel](documentation/evaluating-experiments-in-mixpanel.md)
- [Development](documentation/development.md)

FAQ
---

[](#faq)

### Is the plugin compatible with every WordPress website?

[](#is-the-plugin-compatible-with-every-wordpress-website)

So far yes. Although it's developed and tested for [Planet4](https://planet4.greenpeace.org/), it can be used in any WordPress installation.

### Can the plugin be used with different web analytics software?

[](#can-the-plugin-be-used-with-different-web-analytics-software)

You may be able to use Tag Manager to set up the plugin to work with different web analytics solutions if you can make use of dataLayer event. The event contains the variables `experiment_name` and `experiment_variant`. Those could be used to build cohorts in some web analytics tools.

### I have more questions, an idea for an additional feature or something doesn't work

[](#i-have-more-questions-an-idea-for-an-additional-feature-or-something-doesnt-work)

Please be aware that the plugin is provided as is and our time for support is limited. But please do open an issue on GitHub for any bugs, feature ideas or other requests.

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance77

Regular maintenance activity

Popularity25

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 65.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~80 days

Recently: every ~106 days

Total

7

Last Release

17d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/46678842?v=4)[Stefan D](/maintainers/stduerre)[@stduerre](https://github.com/stduerre)

---

Top Contributors

[![stduerre](https://avatars.githubusercontent.com/u/46678842?v=4)](https://github.com/stduerre "stduerre (41 commits)")[![stefanduerrenberger](https://avatars.githubusercontent.com/u/76908?v=4)](https://github.com/stefanduerrenberger "stefanduerrenberger (22 commits)")

### Embed Badge

![Health badge](/badges/greenpeace-planet4-gpch-plugin-optimize/health.svg)

```
[![Health](https://phpackages.com/badges/greenpeace-planet4-gpch-plugin-optimize/health.svg)](https://phpackages.com/packages/greenpeace-planet4-gpch-plugin-optimize)
```

###  Alternatives

[dms/phpunit-arraysubset-asserts

This package provides ArraySubset and related asserts once deprecated in PHPUnit 8

14429.2M361](/packages/dms-phpunit-arraysubset-asserts)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
