電子メールを追跡する方法



我々の最後のブログでは、我々はどのように我々はsetup Email Marketing using Google Apps Scriptすることができます話しました.我々の次のブログでは、どのように我々のメールが受信者によって開かれているかどうかを追跡できるかについて話します.これは、Google Appsのスクリプトと追跡ピクセルを使用して実装することができます.電子メールマーケティングキャンペーンの成功を測定するために重要なメールの開始を追跡するが、我々は可能なあらゆる方法で受信者のプライバシーを維持することを確認する必要があります.

内容


ステータスコラムを加える
  • メール追跡コード
  • を書く
    ウェブアプリケーションとして展開している

  • 電子メール
  • の追跡ピクセルを加える
  • の結果
  • 必要条件


    始める前に、setup Email Marketing using Google Apps Scriptで述べたすべての手順に従ってください.

    1 .ステータスカラムの追加


    したら、シートにステータス列を追加するには、Googleシートを設定してください.この列は、電子メールの開口部を追跡するために使用されます.
    Googleシートのユーザー詳細を入力します

    メールのトラッキングコードを書く


    今は前のブログで書いたスクリプトにコードを追加する時です.
    ワークフローは本当に簡単です.Width =“0”とHeight =“0”のHTMLファイルにタグを追加します.src属性にいくつかのクエリパラメータと共にスクリプトURLを追加します.この種の画像は追跡画素として知られている.受取人がメールを開くとき、GET要求はsrc属性で指定されたURLに送られます.我々は、Google AppsのスクリプトでこのGETリクエストを処理し、クエリのパラメータに基づいてGoogleシートを更新します.
    メインで.GSは、テンプレートを追加します.電子メール=メール;アフターテンプレート.name = name ;sendeails関数の行:
    function sendEmails(mail_template='content',
                        subject='Testing my Email Marketing') {
    
      // get the active spreadsheet and data in it
      var id = SpreadsheetApp.getActiveSpreadsheet().getId();
      var sheet = SpreadsheetApp.openById(id).getActiveSheet();
      var data = sheet.getDataRange().getValues();
    
      // iterate through the data, starting at index 1
      for (var i = 1; i < data.length; i++) {
        var row = data[i];
        var email = row[0];
        var name = row[1];
    
        // check if we can send an email
        if (MailApp.getRemainingDailyQuota() > 0) {
    
          // populate the template
          var template = HtmlService.createTemplateFromFile(mail_template);
          template.name = name;
          template.email = email; // add this line
          var message = template.evaluate().getContent();
    
          GmailApp.sendEmail(
            email, subject, '',
            {htmlBody: message, name: 'RavSam Team'}
          );
        }
      }
    }
    
    電子メールの開始を追跡するためのコードを追加しましょう.
    // handles the get request to the server
    function doGet(e) {
      var method = e.parameter['method'];
      switch (method) {
        case 'track':
          var email = e.parameter['email'];
          updateEmailStatus(email);
        default:
          break;
      }
    }
    
    上記のコードはGETリクエストを処理します.Queryパラメーターメソッドの値が追跡されている場合は、クエリパラメータメールの値を取得し、UpdateEmailStatus関数に渡します.updateemailステータス関数のコードを書きましょう.
    function updateEmailStatus(emailToTrack) {
    
      // get the active spreadsheet and data in it
      var id = SpreadsheetApp.getActiveSpreadsheet().getId();
      var sheet = SpreadsheetApp.openById(id).getActiveSheet();
      var data = sheet.getDataRange().getValues();
    
      // get headers
      var headers = data[0];
      var emailOpened = headers.indexOf('status') + 1;
    
      // declare the variable for the correct row number
      var currentRow = 2;
    
      // iterate through the data, starting at index 1
      for (var i = 1; i < data.length; i++) {
        var row = data[i];
        var email = row[0];
    
        if (emailToTrack === email) {      
          // update the value in sheet
          sheet.getRange(currentRow, emailOpened).setValue('opened');
          break;
        }
        currentRow++;
      }
    }
    
    コードのコメントはよく説明します.Googleシート内のデータをループし、メールをメールアドレスと比較します.一旦マッチを見つけたならば、対応する電子メールへのステータス列は開かれるように設定されます.

    3 . Webアプリケーションとしての配備


    GETリクエストを処理するには、スクリプトをWebアプリケーションとして展開する必要があります.Webアプリケーションとして展開するには、Webアプリケーションとして展開します.我々は誰にも匿名でクリックして更新プログラムを誰にもアプリにアクセスして設定されます.

    メールにトラッキングピクセルを追加する


    内容で.HTML、我々の追跡ピクセルを追加します.
    <!DOCTYPE html>
    <html>
      <head>
        <base target="_top">
      </head>
      <body>
        <!-- add this img tag -->
        <img src="https://script.google.com/macros/s/AKfycbxyhzk8JpzP1S-vXp6UVAOtQzN9qKqHLaKxiHr2cZ6mLsZ7EJcG/exec?method=track&email=<?= email ?>" width="0" height="0"> 
    
        Hi <?= name ?>. We are testing our beta features for email marketing.
      </body>
    </html>
    

    スクリプトの実行


    さて、我々は同様に追跡することができる成功したメールマーケティングキャンペーンを開始するために必要なすべてのセットアップを行っている.sendeails関数を実行し、ユーザの代わりに受信トレイをチェックします.

    結果


    今私たちが電子メールの開始を追跡する実装で成功したかどうかをチェックする時間です.我々は、電子メールを開き、Googleシートが更新されたかどうかを確認します.
    うーん!受信者がメールを開いたとき、Googleシートは自動的に更新されました.これはGoogle Appsのスクリプトの力です.それは広く使用されていませんが、それらで実装することができる多くのことがあります.あなたが我々のチームのためにどんな疑いまたは感謝であれば、下記のコメントで知らせてください.