UTM parameters tracker.
Project description
WebCase UTM tracker
Simple middleware and utils for tracking utm parameters.
Installation
pip install wc-django-utm
In settings.py:
INSTALLED_APPS += [
'wcd_utm',
]
WCD_UTM = {
# All the "main" parameters that must be resolved.
'PARAMETERS': [
'utm_source', 'utm_medium', 'utm_campaign',
'utm_term', 'utm_content',
'gclid', 'aclk', 'msclkid', 'fbclid', 'twclid',
]),
# Additional parameter prefixes. Also used to convert prefixed parameters
# like "utm_content" into "content".
'RESOLVABLE_PREFIXES':['utm_'],
# Whether to unwrap prefixed parameters or not.
# Example: "utm_content" will be unwrapped into "content".
# By default - do not.
'UNWRAP_PREFIXED_PARAMETERS': False,
# Used to store all different utm parameters sets, that user had during the
# session.
'SESSION_STORAGE_KEY': 'utm_params_stored',
# Latest utm parameters set. The key that you are mostly going to use.
'SESSION_ACCESS_KEY': 'utm_params',
# Header to parse UTM parameters from as if it is URL.
# Use this to pass utm parameters from Android/iOS app, for example.
'HEADER_ORIGIN_URL': 'HTTP_X_UTM_ORIGIN_URL',
# Same as previous, but this one should store JSON data instead of plain
# URL string.
'HEADER_JSON': 'HTTP_X_UTM_JSON',
}
Usage
Most of the time only the middleware will be used:
MIDDLEWARE = [
# ...
'django.contrib.sessions.middleware.SessionMiddleware',
# MUST be placed after session middleware ^.
'wcd_utm.middleware.UTMSessionMiddleware',
# ...
]
In a view
Middleware will store parsed data in a SESSION_ACCESS_KEY('utm_params') key. Parameter values will always be a list of strings:
def some_view(request):
params = request.session["utm_params"]
# Values are always lists
if 'black_friday_sale' in params.get('utm_campaign', []):
# Then do stuff related to you black friday sale campaign.
pass
# ...
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[0.1.1]
Changed
- Make prefixed parameters unwrapping optional.
[0.1.0]
Initial version.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
wc-django-utm-0.1.1.tar.gz
(19.1 kB
view details)
File details
Details for the file wc-django-utm-0.1.1.tar.gz.
File metadata
- Download URL: wc-django-utm-0.1.1.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5b94a75353ef88ad294f250191928180e9f9568aa32409598d5336fae0f734a
|
|
| MD5 |
c56bd97b656d69c56b1aec91674e0d6a
|
|
| BLAKE2b-256 |
598f498ddc3ef286b4cce11da958edb55a0f4fa6c22ad09de78d41873af4cc17
|