メールには、Google Analyticsを介してサイトに戻るクリックを追跡するトラッキング機能があります。しかし、オープンを追跡する方法はありますか?私はどこかにグーグル追跡画像を電子メールに追加しなければならないと想像します。おそらくJavaScriptも?
他の人が指摘しているように、電子メールでJavascriptを使用することはできません。実際の追跡は__utm.gif
のリクエストによって行われ、JavaScriptはGETパラメータを作成するだけです。
Googleは、モバイルWebドキュメントごとにJavascript以外のGoogle Analyticsの使用をサポートしています: http://code.google.com/mobile/analytics/docs/web/
パラメータの完全なリスト について説明していますが、必要なパラメータは次のとおりです。
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
GAにキャンペーントラッキングを使用しているようですが、オープンの数も知りたいと思っています。これは、ピクセルトラッキングを使用してページビューやイベントをトラッキングしているため、Googleアナリティクスで可能すべての(私が思うに?)電子メール追跡が行うように。ただし、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}
巨大なUTMgif 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");
}
}
}
}
__utmgifを使用したハックよりもはるかに簡単です。
これを行うことで、これを電子メールに簡単に追加できます。
メールの場合:
<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"
});
ブーム、やった、息子。 サポートされ、文書化された、より優れたAPIを使用してメールの開封を追跡できるようになりました。
あなたの要件は、特定のユーザーが電子メールを開いた回数を追跡することです。同様の問題があります。私たちはSMTPリレーサーバーを使用しており、誰かが電子メールで私たちのサイトへのリンク内をクリックした場合でも登録するgoogle-analyticsに加えて、マーケティング電子メールが開いている回数を追跡したいと考えていました。
これが私たちのソリューションです。これは、htmlのimage要素をオーバーライドしてREST呼び出しを行うことに基づいています(私たちの電子メールはhtmlベースです)
ここで、TRACKINGは、電子メールの送信先の人物に関する追跡情報を含むRESTサービスを指す動的に生成されたURLです。これは次のようなものです。
// def TrackingURL = URLEncoder.encode( "eventName = emailTracking&entityType = employee&entityRef =" + email.empGuid、 "UTF-8");
trackingURL = baseUrl + "/ Tracking/create?" + trackingURL;
「 https://fiction.com:8080/marketplace/tracking/Create?eventName=email&entityType=Person&entityRef=56 "のようになります。
実際の電子メールhtmlが生成されると、TRACKINGはに置き換えられます
重要な点は、タイプimageの応答を返し、REST responseで1ピクセルの透明な画像を返すことです。