Отслеживание электронной почты открывается в Google Analytics

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

6 ответов

Решение

Как уже отмечали другие, вы не можете использовать 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

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

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

  • 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

Похоже, вы используете отслеживание кампании для 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}

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

Я лучше выложу это, чтобы избавить всех от необходимости создавать этот чудовищный 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, который поддерживается и документируется.

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

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

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

// 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.

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

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

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

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

Другие вопросы по тегам