我正在向有HTML标签的客户发送电子邮件。
<a href="https://example.com/xyz" target="_blank" data-saferedirecturl="https://www.google.com/url?q=https://example.com/xyz&source=gmail&ust=1630670728276000&usg=AGEQSDF-AWAS#">Click Here</a>
在我的端点上,我想知道是用户点击了Gmail中的电子邮件,还是某个电子邮件URL分析平台或电子邮件网关解决方案。
当用户点击我的电子邮件中的链接时,首先,它会打开URL https://www.google.com/url?q=https://example.com/xyz&source=gmail&ust=1630670728276000&usg=AGEQSDF-AWAS#
,然后被重定向到实际的URL。在重定向之后,当它向我的端点发送GET请求时,以下标头将被发送到我的服务器。它没有任何引用URL,可以帮助我确定用户是否真的点击了它。
GET /xyz HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
Te: trailers
Connection: close
我将如何解决我的问题,检测真正的点击( GET请求),而不是一些URL分析点击?
发布于 2021-09-06 23:42:10
Twilio SendGrid开发者的布道者在这里。
如果您使用SendGrid发送电子邮件(我猜是这样的,因为您将问题标记为"sendgrid"),那么您可以启用open and click tracking from within your SendGrid account,然后您可以设置为接收event webhook。如果您发送的电子邮件在custom arguments中具有唯一的标识符,那么您可以将每次打开并单击都绑定到唯一的电子邮件。它可能并不完美,但你可以实现一些启发式方法,比如在接受点击之前检查电子邮件是否被打开。
我认为,一旦用户通过google.com重定向,就没有任何方法可以向请求添加头部。
https://stackoverflow.com/questions/69031932
复制相似问题