用于提取和存储UTM跟踪值的Django应用程序。
django-utm-tracker的Python项目详细描述
Django UTM跟踪器
用于提取和存储UTM跟踪值的Django应用程序。在
背景
此应用程序被设计为集成标准的utm_*
查询字符串参数
你的Django项目的在线广告商使用的。在
它确实not取代了分析(例如Google analytics)和Adwords跟踪,但确实如此 有一个关键的区别-它允许你为一个活动分配一个特定的用户 注意。在
如果您试图评估多个通道的价值,这可能会很有用/ 活动。在
工作原理
该应用程序作为一对中间件类,从任何 传入请求查询字符串,然后根据请求.用户 (如果经过验证),或请求.会话(如果没有)。在
下面显示了此工作流(伪代码-请参见test_utm_and_lead_source
中的
实例):
client=Client()# first request stashes values, but does not create a LeadSource as user is anonymousclient.get("/?utm_medium=medium&utm_source=source...")assertutm_values_in_sessionassertLeadSource.objects.count()==0# subsequent request, with authenticated user, extracts values and stores LeadSourceuser=User.objects.create(username="fred")client.force_login(user,backend=settings.FORCED_AUTH_BACKEND)client.get("/")assertnotutm_values_in_sessionassertLeadSource.objects.count()==1
为什么把中间件一分为二?
在这种情况下,我们可以将中间件分成两个类
跟踪没有utm_
querystring参数的潜在客户。例如,如果您有
内部推荐程序,使用一个简单的令牌,您可以将此捕获为
LeadSource
通过将sentinel值添加到request.session
:
配置
将应用程序添加到INSTALLED_APPS
,并将两个中间件类添加到MIDDLEWARE
。在
UtmSession
中间件必须在LeadSource
中间件之前。在
- 项目
标签: