【发布时间】:2019-12-19 22:36:53
【问题描述】:
我正在与我公司的 Google Ads 团队一起在 Shopify 商店中工作,他们要求我为结帐流程的几个步骤提供一些正则表达式。我创建了它们,一切都运行良好,直到他们注意到 Analytics 有时会在 URL 查询参数中添加一个 _ga 参数。
我原来的表达是:
1.在购物车中时 - 没问题
\/cart
2。结帐的第一步 - 联系信息 - 分几行以便于阅读
(
\/([0-9]*)\/checkouts\/([a-z0-9\-]*)$
|
\/([0-9]*)\/checkouts\/([a-z0-9\-]*)\?step=contact_information
)
在这一部分中,我添加了 step=contact_information 作为 OR 选项。它通常不存在,除非当您返回联系信息时,它会作为步骤添加到 URL 中。我知道这不是理想的方式,但我对正则表达式还很不熟练。
3.发货信息
(
\/([0-9]*)\/checkouts\/([a-z0-9\-]*)\?step=shipping_method
|
\/([0-9]*)\/checkouts\/([a-z0-9\-]*)?(.*)&step=shipping_method
)
在这部分它总是有step=shipping_method,但它也可以有previous_step=contact_information。这也不理想,但我不知道该怎么做。
4.付款信息
(
\/([0-9]*)\/checkouts\/([a-z0-9\-]*)\?step=payment_method
|
\/([0-9]*)\/checkouts\/([a-z0-9\-]*)?(.*)&step=payment_method
)
与第 3 步相同,在这种情况下,它总是有step=payment_method,但也可以有previous_step=shipping_method。如第 2 点和第 3 点,并不理想。
5.处理 - 这部分工作正常,因为我对查询参数不感兴趣
\/([0-9]*)\/checkouts\/([a-z0-9\-]*)\/processing
6.谢谢页面 - 这也很好,因为我对查询参数不感兴趣
\/([0-9]*)\/checkouts\/([a-z0-9\-]*)\/thank_you
_ga 参数问题
这些正则表达式在常规 URL 上工作正常,但是当我将 _ga 参数添加到 URL 时,它们不匹配。我认为有一种方法可以匹配查询参数,但我不确定如何匹配某些并排除其他参数。
_ga 参数通常在后续步骤中持续存在
点 2.、3. 和 4. 的所有可能匹配的列表:
不带和带 _ga 的联系信息
/25931284564/checkouts/df24e48ecc81f767583c4a26680bcb82
/25931284564/checkouts/df24e48ecc81f767583c4a26680bcb82?step=contact_information
/25931284564/checkouts/df24e48ecc81f767583c4a26680bcb82?_ga=2.150710640.738515769.1576779089-71346777.1571176760%26_gac%3D1.16451458.1576260301.EAIaIQobChMI9v2c5Zqz5gIVr__jBx1VAgxPEAAYBCAAEgLccPD_BwE&locale=es
/25931284564/checkouts/df24e48ecc81f767583c4a26680bcb82?_ga=2.150710640.738515769.1576779089-71346777.1571176760%26_gac%3D1.16451458.1576260301.EAIaIQobChMI9v2c5Zqz5gIVr__jBx1VAgxPEAAYBCAAEgLccPD_BwE&locale=es&step=contact_information
不带和带 _ga 的运送方式
/25931284564/checkouts/df24e48ecc81f767583c4a26680bcb82?step=shipping_method
/25931284564/checkouts/df24e48ecc81f767583c4a26680bcb82?step=shipping_method&previous_step=contact_information
/25931284564/checkouts/df24e48ecc81f767583c4a26680bcb82?_ga=2.150710640.738515769.1576779089-71346777.1571176760%26_gac%3D1.16451458.1576260301.EAIaIQobChMI9v2c5Zqz5gIVr__jBx1VAgxPEAAYBCAAEgLccPD_BwE&locale=es&step=shipping_method
/25931284564/checkouts/df24e48ecc81f767583c4a26680bcb82?_ga=2.150710640.738515769.1576779089-71346777.1571176760%26_gac%3D1.16451458.1576260301.EAIaIQobChMI9v2c5Zqz5gIVr__jBx1VAgxPEAAYBCAAEgLccPD_BwE&locale=es&step=shipping_method&previous_step=contact_information
不带和带 _ga 的付款方式
/25931284564/checkouts/df24e48ecc81f767583c4a26680bcb82?step=payment_method
/25931284564/checkouts/df24e48ecc81f767583c4a26680bcb82?step=payment_method&previous_step=shipping_method
/25931284564/checkouts/df24e48ecc81f767583c4a26680bcb82?_ga=2.150710640.738515769.1576779089-71346777.1571176760%26_gac%3D1.16451458.1576260301.EAIaIQobChMI9v2c5Zqz5gIVr__jBx1VAgxPEAAYBCAAEgLccPD_BwE&locale=es&step=payment_method
/25931284564/checkouts/df24e48ecc81f767583c4a26680bcb82?_ga=2.150710640.738515769.1576779089-71346777.1571176760%26_gac%3D1.16451458.1576260301.EAIaIQobChMI9v2c5Zqz5gIVr__jBx1VAgxPEAAYBCAAEgLccPD_BwE&locale=es&step=payment_method&previous_step=shipping_method
有什么想法可以解决这个问题吗?我很确定这很简单,但我的大脑无法处理更复杂的正则表达式:)
更新
为了更清楚一点,我需要用正则表达式实现的是明确识别漏斗的步骤。
我团队的 Google Ads 人员正在 Google Analytics(分析)中创建一个漏斗,他们将结帐中的相应步骤添加为漏斗的各个阶段。
所以基本上我只需要我的正则表达式能够使用或不使用_ga 查询,但始终检测特定步骤。
更新 2
我添加了所有可能的匹配项。我需要能够通过正则表达式识别特定步骤。所以基本上我需要一个用于联系信息的正则表达式,一个用于运输方式,一个用于付款方式,每个都只标识 URL 中带有或不带有_ga 的特定步骤。
【问题讨论】:
标签: regex shopify query-parameters