跟踪用户是否已打开电子邮件

时间:2015-09-15 13:02:32

标签: php sendmail mailchimp

我正在使用MailChimp PHP API,我想知道如何跟踪用户是否查看了发送的电子邮件。我想可能会在发送给用户的消息中写入某种类型的代码。无论如何,这就是我连接到mailchimp的方式:

  // Post data retrieved from ajax post
  $fullName = mysqli_real_escape_string($con, $_POST['fname']);
  $email =  mysqli_real_escape_string($con,$_POST['email']);

  ////////////////////////////////////////////////
  ///////MailChimp Integration////////////////////
  ///////////////////////////////////////////////
  // Subscribe a user to MailChimp


  $MailChimp = new MailChimp('id');
  $result = $MailChimp->post('lists/id/members', array(
              'email_address'     => $email,
              'status'            => 'subscribed',
              'merge_fields'      => array('FNAME'=>$fullName, 'LNAME'=>'')
          ));


$message = "<html><body>";
$message .= "<p>";

$message .= "Hi $fullName, <br><br><br>";
[..]

我宁愿使用mailchimp,但如果有任何其他解决方案让我知道。我还通过mysqli将数据存储在mysql数据库中。

1 个答案:

答案 0 :(得分:2)

我的2美分 - 要回答的评论。

您可以做的一件事是使用可跟踪的链接。例如;你的邮件有一个关于某事的故事,但你不包括完整的故事。

所以...你有一个链接&#34;阅读全文&#34;,跟踪可跟踪的href。

这是一种鬼鬼祟祟,但这种做法并不违法。神奇的事情发生在查询的WHERE子句中。

我认为Mailchimp跟踪消息是否被打开(我们也使用Mailchimp),是因为他们也可能使用图像方法来跟踪和/或基于简报中的href;我注意到,未加载图片或未点击链接时,数字不会增加。

有没有注意到邮件中的href是什么样的?他们不属于你,他们会使用特殊代码。

如果邮件中的源链接代码为http://yourdomain.usX.list-manage.com/track/click?u=alpha-numerical-set-of-characters,则Mailchimp会将其更改为以下内容,以便跟踪点击的链接。

例如:
UPDATE TABLE SET col_x = col_x +1 WHERE col_y = 'something'

要在MySQL中使用计数器,一个例子就是使用UPDATE:

  var period=array(3,6,7,4,9);
   var marks=array(76,87,45,87,44);
        var randomScalingFactor = function(){ return    Math.round(Math.random()*100)};   

                var lineChartData = {
                    labels : [period[0],period[1],period[2],period[3]],
        datasets : [
            {
                label: "My First dataset",
                fillColor : "rgba(220,220,220,0.2)",
                strokeColor : "rgba(220,220,220,1)",
                pointColor : "rgba(220,220,220,1)",
                pointStrokeColor : "#fff",
                pointHighlightFill : "#fff",
                pointHighlightStroke : "rgba(220,220,220,1)",
                data :    [marks[0],marks[1],marks[2],marks[3]]
            }
        ]

    }

  window.onload = function(){
    var ctx = document.getElementById("canvas").getContext("2d");
    window.myLine = new Chart(ctx).Line(lineChartData, {
        responsive: true
    });
  }

UPDATE参考: