web-dev-qa-db-ja.com

追跡メールがGoogleAnalyticsで開きます

メールには、Google Analyticsを介してサイトに戻るクリックを追跡するトラッキング機能があります。しかし、オープンを追跡する方法はありますか?私はどこかにグーグル追跡画像を電子メールに追加しなければならないと想像します。おそらくJavaScriptも?

23
at.

他の人が指摘しているように、電子メールで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
16
Turadg

Google AnalyticsトラッキングGIFが許可するすべてのパラメーターを説明する参照は ここ です。これを使用して、GA GIFを参照する<img>タグをメールに作成します。

この投稿 によると、最低限必要なフィールドは次のとおりです。

  • 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
14
Raleigh Buckner

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}

これを使用して、ヘッダーの内容を説明するものを理解できます。

4
vee_ess

巨大な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を使用してメールの開封を追跡できるようになりました。

2
kamranicus

あなたの要件は、特定のユーザーが電子メールを開いた回数を追跡することです。同様の問題があります。私たちは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ピクセルの透明な画像を返すことです。

0
user3171132