Отслеживание электронной почты открывается в Google Analytics - PullRequest
23 голосов
/ 16 декабря 2010

Мы отслеживаем наши электронные письма, чтобы отслеживать клики на нашем сайте с помощью Google Analytics. Но есть ли способ отследить открытие? Я хотел бы представить, что я должен добавить изображение отслеживания Google к электронной почте где-нибудь. Возможно, JavaScript тоже?

Ответы [ 6 ]

16 голосов
/ 23 ноября 2011

Как уже отмечали другие, вы не можете использовать Javascript в электронной почте.Фактическое отслеживание выполняется по запросу на __utm.gif, а Javascript просто создает параметры GET.

Google поддерживает использование Google Analytics без использования Javascript для своих мобильных веб-документов: 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
14 голосов
/ 16 марта 2012

Ссылка, которая описывает все параметры, которые допускает отслеживание GIF Google Analytics, равна здесь . Используйте его для создания тега <img> в своем электронном письме, который ссылается на GA GIF.

Согласно этой записи , обязательные поля:

  • utmwv = 4,3
  • utmn = <random#> &
  • utmhn = <hostname> &
  • utmhid = <random#> &
  • utmp = <URL> &
  • utmac = UA-XXXX-1 &
4 голосов
/ 16 декабря 2010

Похоже, вы используете отслеживание кампании для GA, но также хотите знать, сколько было открытых открытий. Это возможно сделать с помощью Google Analytics, поскольку они отслеживают просмотры страниц или события, используя отслеживание пикселей, как и все (я думаю?) Отслеживание электронной почты. Однако вы не можете использовать javascript, поскольку он не будет выполнен в электронном письме.

Использование отслеживания пикселей в Google Analytics: Самый простой способ - использовать инструменты разработчика браузера, такие как Firebug для 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}

Вы можете использовать это, чтобы понять, что описывает то, что в заголовках.

2 голосов
/ 04 февраля 2014

Мне лучше опубликовать это, чтобы избавить всех от попыток создать этот чудовищный URL-адрес UTM gif.

Теперь вы можете использовать новый 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"
    });

БУМ, готово, сынок. Теперь вы можете отслеживать открытия электронной почты, используя гораздо более приятный API, который поддерживается и документирован.

0 голосов
/ 08 января 2014

Требуется ли отслеживать, сколько раз электронное письмо было открыто данным пользователем.У нас похожая проблема.Мы используем SMTP-сервер ретрансляции и хотели отслеживать, сколько раз наши маркетинговые электронные письма открыты в дополнение к google-аналитике, которая регистрирует даже, когда кто-то нажимает внутреннюю ссылку на наш сайт в электронной почте.

Это наше решение.Он основан на выполнении вызова REST путем переопределения элемента изображения html (наша электронная почта является базой html)

, где TRACKING - это динамически генерируемый URL, который указывает на нашу службу REST с информацией отслеживанияо человеке, которому было отправлено письмо.Это что-то вроде этого

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

trackingURL = baseUrl +"/ слежение / создать?"+ trackingURL;

Это будет что-то вроде "https://fiction.com:8080/marketplace/tracking/Create?eventName=email&entityType=Person&entityRef=56"

Когда при создании фактического HTML-кода электронной почты TRACKING будет заменен на

Важным моментом является возврат ответа типа image и возврат однопиксельного прозрачного изображения с ответом REST.

0 голосов
/ 16 декабря 2010

Итак, я предполагаю, что письмо содержит ссылку на ваш сайт. Конечно, GA может записывать, как часто щелкают по этой ссылке, потому что нажатие на ссылку по очереди откроет страницу, вызывая функцию * _trackPageview () *, которая записывается GA как pageview .

Таким образом, до тех пор, пока эта страница имеет стандартный тег страницы GA , никакой специальной настройки не требуется - ни для кода GA в разметке вашей веб-страницы, ни для браузера GA. Единственная дополнительная работа, которую вам нужно сделать, это то, что вы можете отличить эти просмотры страниц от просмотров страниц посетителей из другого источника.

Для этого вам просто нужно пометить эту ссылку. Если у вас нет собственной системы и она работает для вас, я рекомендую использовать Google URL Builder , чтобы сделать это для вас. Google URL Builder - это просто веб-форма, в которой вы вводите описательные термины для вашей маркетинговой кампании: Источник кампании, Средний уровень кампании, Содержание кампании, Название кампании. После того как вы ввели значения для каждого из этих терминов, а также ввели URL-адрес вашего сайта, Google мгновенно сгенерирует для вас «помеченную ссылку» (объединяя значения в URL-адрес вашего сайта).

Этот URL-адрес, созданный Google URL Builder, является ссылкой, которая будет размещена в тексте вашей маркетинговой электронной почты.

...