跟踪电子邮件将在Google Analytics中打开

时间:2010-12-16 01:14:59

标签: google-analytics analytics email-analytics

我们在电子邮件中进行跟踪,以跟踪通过Google Analytics返回我们网站的点击次数。但有没有办法跟踪开放?我想我必须在某个地方添加一个谷歌跟踪图像到电子邮件。可能也是javascript?

6 个答案:

答案 0 :(得分:16)

正如其他人所指出的,你不能在电子邮件中使用Javascript。实际的跟踪是通过__utm.gif的请求完成的,而Javascript只是构造了GET参数。

Google支持根据其移动网络文档对Google Analytics进行非Javascript使用: http://code.google.com/mobile/analytics/docs/web/

他们记录full list of parameters,但唯一必要的参数是:

Parameter    Description
utmac        Google Analytics account ID
utmn         Random ID to prevent the browser from caching the returned image
utmp         Relative path of the page to be tracked
utmr         Complete referral URL

答案 1 :(得分:14)

描述Google Analytics跟踪GIF允许的所有参数的参考是here。使用它在您的电子邮件中构建一个引用GA GIF的<img>标记。

根据this post,所需的最低字段为:

  • utmwv = 4.3
  • utmn = <random#>&安培;
  • utmhn = <hostname>&安培;
  • utmhid = <random#>&安培;
  • utmr = - &安培;
  • UTMP = <URL>&安培;
  • utmac = UA-XXXX-1和;
  • utmcc = _ UTMA%3D <utma cookie> 3B%2B _utmz%3D <utmz cookie>%3B

答案 2 :(得分:4)

听起来您正在使用广告系列的广告系列跟踪,但也想知道有多少次打开。这可以与Google Analytics一起使用,因为他们通过使用像素跟踪来跟踪网页浏览或事件,就像所有(我认为?)电子邮件跟踪一样。但是,您不能使用javascript,因为它不会在电子邮件中执行。

使用Google Analytics像素跟踪: 最简单的方法是使用浏览器开发人员工具(如Firebug for Firefox或Opera的Dragonfly)捕获utm.gif请求并复制URL。修改标题以满足您的需求。您可以将其视为事件或综合浏览量。如果将其视为事件,它应该看起来像这样:

http://www.google-analytics.com/__utm.gif?utmwv=4.8.6&utmn=1214284135&utmhn=www.yoursite.com&utmt=event&utme=email_open&utmcs=utf-8&utmul=en&utmje=1&utmfl=10.1%20r102&utmdt=email_title&utmhid={10-digit time code}&utmr=0&utmp=email_name&utmac=UA-{your account}

You can use this to understand what describes what in the headers.

答案 3 :(得分:2)

我最好发布这个以节省每个人尝试构建那个可怕的UTM gif URL的麻烦。

您现在可以使用新的Measurement Protocol API发送POST请求,轻松记录事件,页面浏览量,点击量或几乎任何其他类型的度量。 这非常简单!

POST /collect HTTP/1.1
Host: www.google-analytics.com

payload_data

例如,这是一个用C#发送事件的代码片段(使用SSL端点):

public void SendEvent(string eventCategory = null, string eventAction = null, string eventLabel = null, int? eventValue = null)
{
    using(var httpClient = new HttpClient() {BaseAddress = new Uri("https://ssl.google-analytics.com/")}) {
        var payload = new Dictionary<string, string>();

        // Required Data
        payload.Add("v", "1"); // Version
        payload.Add("tid", "UA-XXX"); // UA account
        payload.Add("aip", "1"); // Anonymize IP
        payload.Add("cid", Guid.NewGuid().ToString()); // ClientID
        payload.Add("t", "event"); // Hit Type

        // Optional Data
        payload.Add("ni", "1"); // Non-interactive hit

        // Event Data
        if (eventCategory != null)
        {
            payload.Add("ec", eventCategory);
        }
        if (eventAction != null)
        {
            payload.Add("ea", eventAction);
        }
        if (eventLabel != null)
        {
            payload.Add("el", eventLabel);
        }
        if (eventValue != null)
        {
            payload.Add("ev", eventValue.Value.ToString(CultureInfo.InvariantCulture));
        }

        using (var postData = new FormUrlEncodedContent(payload))
        {
            var response = httpClient.PostAsync("collect?z=" + DateTime.Now.Ticks, postData).Result;

            if (!response.IsSuccessStatusCode)
            {
                throw new Exception("Could not send event data to GA");
            }
        }
    }
}

比使用__utm gif的黑客更容易。

有用的例子

您可以通过以下方式轻松将其添加到电子邮件中:

在电子邮件中:

<img src="{url}/newsletter/track.gif?newsletterName=X" />

在您的MVC网站中,例如NewsletterController

public ActionResult Track(string newsletterName) {
    using(var ga = new AnalyticsFacade()) {
       ga.TrackEmailOpen(newsletterName);
    }

    return Content("~/images/pixel.gif", "image/gif");
}

在您的Global.asax或RouteConfig

routes.MapRoute(
    "newsletteropen",
    "newsletter/track.gif",
    new
    {
        controller = "Newsletter",
        action = "Track"
    });

BOOM,完成了,儿子。您现在可以使用更强大的API 支持跟踪电子邮件,并进行记录。

答案 4 :(得分:0)

您的要求是跟踪给定用户打开电子邮件的次数。我们有类似的问题。我们正在使用SMTP中继服务器,并且希望跟踪我们的营销电子邮件打开的次数以及谷歌分析,只有当有人点击通过电子邮件链接到我们网站的链接时才会注册。

这是我们的解决方案。它基于通过覆盖html的图像元素进行REST调用(我们的电子邮件是html基础)

其中TRACKING是动态生成的url,它指向我们的REST服务,其中包含有关发送电子邮件的人员的跟踪信息。就像那样

// def trackingURL = URLEncoder.encode(“eventName = emailTracking&amp; entityType = employee&amp; entityRef =”+ email.empGuid,“UTF-8”);

trackingURL = baseUrl +“/ tracking / create?” + trackingURL;

它将类似于“https://fiction.com:8080/marketplace/tracking/Create?eventName=email&entityType=Person&entityRef=56

当生成实际的电子邮件html时,跟踪将被替换为

重点是返回类型为image的响应,并返回带有REST响应的单像素透明图像。

答案 5 :(得分:-1)

所以我假设该电子邮件包含指向您网站的链接。当然,GA可以记录点击该链接的频率,因为单击链接将依次打开页面,导致调用函数* _trackPageview()*,由GA记录为 pageview

只要该页面具有标准GA page tag,就不需要特殊配置 - 无论是网页标记中的GA代码还是GA浏览器。您需要做的唯一额外工作是,您可以将来自其他来源的访问者区分这些页面浏览量与页面浏览量。

为此,您只需标记此链接即可。除非您拥有自己的系统并且它适合您,否则我建议您使用Google URL Builder为您执行此操作。 Google网址构建器只是一个网络表单,您可以在其中输入营销广告系列的描述性字词:广告系列来源,广告系列媒介,广告系列内容,广告系列名称。在为每个条款输入值并输入您网站的网址后,Google会立即为您生成“已标记的链接”(通过将值连接到您网站的网址)。

Google URL Builder生成的此网址是放置在营销电子邮件文本中的链接。