【问题标题】:How to detect if a link was clicked through an email in gmail如何检测是否通过gmail中的电子邮件单击了链接
【发布时间】:2017-11-16 13:51:34
【问题描述】:

我正在编写一封电子邮件,该电子邮件将作为营销工作发送出去。 在电子邮件中会有一个按钮,允许人们“保存事件的日期”,我希望能够检测单击按钮后电子邮件是否在 gmail 中打开,以及是否在 gmail 中打开它将提供一个 Google 添加到日历链接 - 否则它将提供一个 ICS 文件。

还有另一封电子邮件正是这样做的,它不会检测用户代理,因为无论浏览器、操作系统和设备如何,如果电子邮件是在 gmail 中打开的,它将重定向到谷歌的添加到日历!

我一直在尝试解决这个问题并尝试了很多技巧,虽然没有成功,但我很想看看人们有什么其他想法。

编辑:我注意到 gmail 会将 data-saferedirecturl 添加到所有链接

我想知道是否有办法检测到这一点?

【问题讨论】:

    标签: javascript jquery html css gmail


    【解决方案1】:

    如果您想知道点击链接的来源,您可以通过使用图片技巧来做到这一点:

    1. 在您的邮件中,插入一个指向您的域的小图像(最好为每个收件人使用不同的标识符。
    2. 当用户第一次打开您的邮件时,Gmail 代理服务器会向您的服务器发送请求以获取图片。
    3. 您可以使用请求的任何指示性元素(如 IP 地址、用户代理等)来识别来自 Gmail 代理服务器的请求。

    但请注意:如果收件人在 Gmail 中再次打开邮件,您将不会看到对您服务器的请求,因为此图片保存在代理服务器的缓存中。

    【讨论】:

    • 如果我理解正确 - 我应该将链接指向一个外部域 - 我目前正在这样做 - 一个空白的 html 文件,带有一些 javascript 来处理重定向。我试图获取 http 引荐来源网址,但我认为 gmail 会删除这些数据。我不确定要注意哪些数据才能检测用户是否单击了 gmail 或其他电子邮件客户端/网络邮件客户端中的按钮。
    • 嗯,有趣,我似乎误读了原始问题。我用不同的解决方案更新了我的答案
    • 如果用户返回电子邮件并尝试再次单击该按钮会发生什么情况,它将提供哪个链接?如果它之前提供了谷歌添加到日历链接?
    • 这是一个想法 - 在邮件中添加指向您的域的链接。然后使用接收请求的端点提供小图像以即时更改链接重定向,以在 Google 日历和 ICS 文件之间做出决定。现在您唯一的问题将是 Gmail 缓存。这不是很容易解决,但我认为您不会经常遇到这种情况...
    【解决方案2】:

    您不能将 javascript 传递给 mailreader。 不过你可以加Email Tracking Pixel

    【讨论】:

    • 现在我有一个链接到空白 html 文件的按钮,并带有一些 javascript 来处理重定向。就像我在另一条评论中所说的那样 - 我试图获取 http 引荐来源网址,尽管我认为 gmail 会删除这些数据。我不确定要注意哪些数据才能检测用户是否单击了 gmail 或其他电子邮件客户端/网络邮件客户端中的按钮。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 2018-11-15
    • 2013-10-14
    • 2011-05-20
    • 2022-10-25
    相关资源
    最近更新 更多