neoseeker/url-campaignify

一个PHP类,用于帮助向独立URL以及字符串内的URL(例如电子邮件)添加Google Analytics营销活动

0.2.0 2013-02-25 23:16 UTC

This package is not auto-updated.

Last update: 2024-09-13 04:34:21 UTC


README

背景

这是一个工具,可以帮助将Google Analytics营销活动跟踪参数添加到URL和整个文本块。

最初由pixelistik编写,用于添加开源网络分析工具Piwik的营销链接。

这个分支已被修改,只与Google Analytics一起使用,并支持GA的所有营销参数,用于对传入链接进行分类。此工具通过向HTTP URL附加额外的GET参数来实现

http://my-site.tld/?utm_campaign=newsletter-5&utm_term=header-link&medium=email&utm_source=response

在Google Analytics上了解更多关于此内容.

内容

这个类旨在使动态向URL添加此类参数更加容易。

单个URL

您无需担心?&,只需这样做即可

$uc = new UrlCampaignify();

$url = "http://some-blog.tld/cms.php?post=123&layout=default";

$newUrl = $uc->campaignify($url, "newsletter-5", "header-link");

结果已正确附加了参数

http://some-blog.tld/cms.php?post=123&layout=default&utm_campaign=newsletter-5&utm_term=header-link

文本块

您也可以将整个文本块抛给函数。它将找到并营销化其中的所有HTTP URL。

$uc = new UrlCampaignify();

$text = "Look at http://my-site.tld especially".
        "here: http://my-site.tld/news.htm";

$newUrl = $uc->campaignify($text, "newsletter-5", "header-link");

如果您期望HTML输入,则只更改href属性中的URL是有意义的。为此请使用campaignifyHref()。它将

See <a href="http://site.tld">http://site.tld</a> for more information.

转换为

See <a href="http://site.tld?utm_campaign=foo">http://site.tld</a> for more information.

查看测试用例,了解哪些情况和边缘情况已覆盖或未覆盖。

在文本块中自动编号URL

文本块中的所有营销化URL都会计数(从1开始)。您可以使用URL的当前编号在sprintf()样式的关键字中使用。如果您想在单个文本中区分几个相同的URL,这非常有用。

$uc = new UrlCampaignify();

$text = "Here comes the header link: http://my-site.tld".
        "here is a long and verbose text".
        "and another link at the end: http://my-site.tld";

$newUrl = $uc->campaignify($text, "news", "link-%d");

这将给您

Here comes the header link: http://my-site.tld?utm_campaign=news&utm_term=link-1
here is a long and verbose text and another link at the end:
http://my-site.tld?utm_campaign=news&utm_term=link-2";

域名

只有当您实际分析它们时,添加营销活动才有意义。这意味着您控制网站及其分析工具。您可以将UrlCampaignify限制为只处理给定域名的URL。只需将其传递给构造函数

$uc = new UrlCampaignify('my-site.tld')

注意,子域名将自动包含在内(这与原始行为不同),因此上述实例触及www.my-site.tld上的URL。

您可以使用以下方式禁用此自动行为

$uc->set_campaignify_subdomains(false);

您可以指定多个域名作为数组

$uc = new UrlCampaignify(array('my-site.tld', 'www.my-site.tld', 'my-other-site.tld'))

此分支与原始版本的主要差异

  1. 仅使用Google Analytics:utm_campaign、utm_source、utm_medium等。utm_medium默认为“电子邮件”
  2. 子域名将默认修改。
  3. 已修改campaignify()和campaignifyHref()方法,以接受Google Analytics参数
  4. Campaignify将应用于未设置utm_medium的URL(原始代码仅在未设置utm_campaign时应用campaignify)
  5. Campaignify不会替换URL中已存在的utm值。

安装

使用composer

URL-Campaignify符合PSR-0文件布局,并在Packagist上。您应该能够简单地输入

composer require  neoseeker/url-campaignify:dev-master
composer install

以从master分支获取最新代码并将其包含到您的项目中。

仅获取文件

您还可以简单地下载提供类的单个文件:https://github.com/Neoseeker/url-campaignify/raw/master/src/Pixelistik/UrlCampaignify.php