我正在尝试根据目标页面/m/thanks(.*)在GA中设置渠道,其中之间有多个一次性页面,这些页面向URI添加了其他参数。
期望的目标是评估免费注册。流程看起来像这样。
目标页面:/m/thanks?id=3LKJE-a723a72bc96cba65&oto=no&oto=no
oto=no&oto=no
表示用户已经拒绝了两个OTO页面,因此产生了免费销售线索
第1步:目标网页:(文字网址)
第2步:注册页面:(文字网址)
步骤3:OTO 1:/m/thanks?id=3LKJE-a723a72bc96cba65
?id=
之后的字符串是动态生成的,但不包含&oto=no
步骤4:OTO 2:/m/thanks?id=3LKJE-a723a72bc96cba65&oto=no
相同的ID,但只包含一个&oto=no
实例
我不确定代表第3步和第4步的最佳方法,以确保仅记录那些页面。
最佳答案
描述
此正则表达式将:
验证字符串没有&oto=no
值
捕获ID的查询字符串值
验证字符串是否具有/m/thanks?
允许querystring属性以任何顺序出现^(?!.*?&oto=no)(?=.*?[?&]id=([^&]*))\/m\/thanks(?=[?])
^
匹配字符串的开头(?!.*?&oto=no)
进行验证,我们找不到oto=no
键值集(?=.*?[?&]id=([^&]*))
向前看并确认我们有id
并捕获值\/m\/thanks(?=[?])
确保字符串以/ m / thanks开头?
要么
此正则表达式将:
验证字符串中是否有2个oto=no
实例
捕获ID值
验证字符串是否具有/m/thanks?
允许querystring属性以任何顺序出现^(?=(?:.*?&oto=no){2})(?=.*?[?&]id=([^&]*))\/m\/thanks(?=[?])
^
匹配字符串的开头(?=(?:.*?&oto=no){2})
验证oto=no
在查询字符串中是否存在两次(?=.*?[?&]id=([^&]*))
捕获id
值.*?(?=[?])
捕获直到第一个?
的字符串