bnomei / kirby3-utm
Kirby UTM Tracking
Installs: 147
Dependents: 0
Suggesters: 0
Security: 0
Stars: 19
Watchers: 2
Forks: 1
Open Issues: 0
Type:kirby-plugin
Requires
- php: >=8.2
- ext-sqlite3: *
- getkirby/composer-installer: ^1.2
- jaybizzle/crawler-detect: ^1.2
- matomo/device-detector: ^6.1
Requires (Dev)
- fzaninotto/faker: ^1.5
- getkirby/cms: ^5.0.0-alpha.4
- larastan/larastan: ^v3.0.0
- laravel/pint: ^1.13
- pestphp/pest: ^v3.5.1
- spatie/ray: ^1.39
README
Installation
- unzip master.zip as folder
site/plugins/kirby3-utm
or git submodule add https://github.com/bnomei/kirby3-utm.git site/plugins/kirby3-utm
orcomposer require bnomei/kirby3-utm
Usage
UTM Page
Create a new page at root level with the blueprint utm
.
Tracking
Events will automatically be tracked to a sqlite database and appear in the UTM page within the panel grouped by campaign and displaying multiple stats.
UTM
Original UTM explanation from Bonnie Kittle at cdgi.com.
utm_source
The advertiser, site, publication, etc. that is sending traffic to your property
utm_medium
The advertising or marketing medium, for example, CPC (cost-per-click), banner ad, email newsletter
utm_campaign
The individual campaign name, slogan, promo code, etc.
utm_term
Identify paid search keywords. If you’re manually tagging paid keyword campaigns, you should also use utm_term to specify the keyword.
utm_content
Used to differentiate similar content or links within the same ad. For example, if you have two call-to-action links within the same email message, you can use utm_content and set different values for each so you can tell which version is more effective. (i.e. image, button, headline)
Cache
Warning
If global debug mode is true,
the plugin will flush its cache and not write any more caches.
For best performance, set either the global or plugin-specific cache driver to one using the server's memory, not the default using files on the hard disk (even on SSDs). If available, I suggest Redis/APCu or leave it at file
otherwise.
site/config/config.php
return [ 'cache' => [ 'driver' => 'apcu', // or redis ], 'bnomei.utm.cache.ipstack' => [ 'type' => 'apcu', // or redis ], 'bnomei.utm.cache.ratelimit' => [ 'type' => 'apcu', // or redis ], 'bnomei.utm.cache.queries' => [ 'type' => 'apcu', // or redis ], ];
Settings
Dependencies
- (optional) free ipstack account for IP geolocations
Disclaimer
This plugin is provided "as is" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, please create a new issue.
License
It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.