Stop adding email tracking links to phone numbers!

栏目: IT技术 · 发布时间: 4年前

内容简介:My Chinese takeaway delivery was late. Very late. I flipped open the confirmation email sent by Just-Eat to double-check I had all the details correct. At the bottom was a "click to call" link. Hurrah!I clicked dial, and this is what filled my screen:

My Chinese takeaway delivery was late. Very late. I flipped open the confirmation email sent by Just-Eat to double-check I had all the details correct. At the bottom was a "click to call" link. Hurrah!

I clicked dial, and this is what filled my screen:

Stop adding email tracking links to phone numbers!

An absurdly long phone number. Bemused, I went to inspect the link I'd clicked. This is what it showed:

Stop adding email tracking links to phone numbers!

The tel: URl scheme is brilliant . You can write something like:

<a href="tel:07700 900123">Call Me!</a>

And when you click onCall Me! your phone dialler will pick up the phone number and offer to place the call. Nifty!

In this case, the crappy marketing system is adding Urchin Tracking Module parameters to every link. Including the phone numbers.

tel:02083178830?utm_medium=ecrm
&utm_source=email
&utm_campaign=TRAN
&utm_content=UK_TRAN_01_0_ORDER-CONFIRMATION_E_V01
&campaign=TRAN
&adgroup=UK_TRAN_01_0_ORDER-CONFIRMATION_E_V01
&utm_term=restaurant_phone_3_3

To be clear - this is useless . The user clicks on the phone number, the device passes the URl directly to the phone dialler. An HTTP request is never made and those parameters are never sent to a server.

Now, in fairness, perhaps my Android dialler should probably be smart enough to recognise the cruft at the end of a phone number and discard it. This is Postel's Law in action.

Except... My reading of the RFC says that the dialler is handling things correctly.

 If the reserved characters "+", ";", "=", and "?" are used as delimiters between components of the "tel" URI, they MUST NOT be percent encoded. These characters MUST be percent encoded if they appear in tel URI parameter values.

For example, if I wanted to dial +447... I should use tel:%2B447...

The dialler sees the unencoded ? and treats it as a delimiter. It then sees utm and assumes the letters are part of the phone number. Just like you can dial 1-800-FLOWERS , you can write tel:1-800-FLOWERS and have it go through to 1-800-356-9377 .

utm medium on a telephone keypad is 886633486 - which is exactly what appeared on my phone screen.

So, if you're writing link tracking software, please make sure only to add parameter to URls where it makes sense.

In the time it took me to write this post, my meal got delivered and it was delicious!

Thanks for getting in touch and sharing this feedback with us Terence, we appreciate it and we'll be sure to bring this to our tech team's attention. ^EM

— Just Eat UK (@JustEatUK) January 20, 2020

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Test Driven Development

Test Driven Development

Kent Beck / Addison-Wesley Professional / 2002-11-18 / USD 49.99

Quite simply, test-driven development is meant to eliminate fear in application development. While some fear is healthy (often viewed as a conscience that tells programmers to "be careful!"), the auth......一起来看看 《Test Driven Development》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具