Enhanced ecommerce中Bundle产品实现方案咨询:徒步旅行套餐场景
Enhanced Ecommerce 徒步旅行套餐追踪方案:专业指导与实现细节
首先得说,你倾向的**方案2(单一产品ID+自定义维度)**完全是贴合你场景的最优选择——毕竟你的核心售卖单元是“徒步旅行套餐”,成人票和儿童票是套餐的必填组成部分,而非独立售卖的产品,强行拆分只会割裂数据逻辑,给后续分析添乱。下面给你拆解具体的实现步骤和注意事项:
一、核心设置:单一产品ID的基础配置
- 给整个徒步套餐分配唯一的产品ID,比如
alpine-trek-package-001,产品名称统一设为「阿尔卑斯徒步旅行套餐」(根据你的实际套餐名调整)。所有的曝光、点击、加购、交易数据,都以这个主ID为核心载体,确保套餐作为一个整体的转化链路数据完整。 - 绝对不要给成人票/儿童票单独设置产品ID,避免系统生成无效的独立曝光、点击数据——用户从始至终看到的都是套餐,不是单独的票种,拆分后的数据完全不符合真实业务场景。
二、自定义维度的设计与部署
针对套餐内的票种数量,建议配置2个产品级自定义维度(如果用UA,在「管理员-自定义定义-自定义维度」中创建,选择“产品”作为范围;如果是GA4,对应创建“产品级自定义参数”):
- 维度1:
套餐成人票数量(必填,数值型,至少为1) - 维度2:
套餐儿童票数量(必填,数值型,至少为1,匹配你“必填儿童票”的要求)
接下来要确保在用户旅程的每个关键节点,都把这两个维度和主产品ID绑定传递:
- 产品详情页:当用户浏览套餐页面时,推送
impression数据时带上维度值(比如默认选中1成人1儿童的话,就传对应数值) - 加入购物车:用户调整票种数量后,在
addToCart事件中传递实际选择的数量 - 结账/交易完成:在
checkout和purchase事件中,保持维度值和加购环节一致,确保数据链路连贯
举个GTM数据层推送的示例(JavaScript):
// 加入购物车事件示例 dataLayer.push({ 'event': 'addToCart', 'ecommerce': { 'add': { 'products': [{ 'id': 'alpine-trek-package-001', 'name': '阿尔卑斯徒步旅行套餐', 'price': '1299.00', 'quantity': 1, 'dimension1': '2', // 用户选择的成人票数量 'dimension2': '1' // 用户选择的儿童票数量 }] } } });
三、报表配置:让数据产生业务价值
- 在Analytics后台,把自定义维度关联到产品报表后,你可以直接在「产品性能」报表中钻取查看不同票种组合的套餐表现——比如“2成人1儿童”的套餐销售额占比、转化率等。
- 建议创建自定义报表,把「产品名称」「成人票数量」「儿童票数量」作为维度,搭配「销售额」「订单数」「转化率」等指标,快速定位最受欢迎的套餐组合,为后续套餐定价、优化提供数据支撑。
为什么不选方案1?
方案1的问题非常明显:把成人票和儿童票拆成独立产品后,系统会把它们当成两个完全无关的售卖单元,你无法直接追踪到“用户买了X成人票+Y儿童票”是同一个套餐订单的行为,后续分析套餐的整体ROI、转化漏斗会变得异常繁琐,甚至会出现数据失真(比如用户只看了套餐页面,却被记录了两个独立产品的曝光)。
额外优化建议
- 如果后续套餐有变体(比如不同出发日期、不同路线等级),可以用产品的
variant字段区分,而不是新增产品ID,保持主套餐数据的统一性。 - 部署后一定要做数据校验:用GA实时报表或GTM预览模式,检查每个事件中产品ID和自定义维度是否正确传递,避免出现数据断层或错误。
- 如果需要统计票种的总销量,可以在自定义指标中设置「成人票总销量」「儿童票总销量」,通过维度值×产品数量的逻辑计算得出。
内容的提问来源于stack exchange,提问作者get9
相关产品推荐
相关产品推荐

