如何为商品链接参数添加UTM参数以在GA中追踪访问?
给补货通知邮件的商品链接追加UTM参数的实现方法
要给%product_link%对应的商品链接追加UTM参数,你可以在替换占位符前先处理原链接,拼接好UTM参数后再替换到邮件内容里,具体步骤如下:
1. 定义UTM参数
先根据GA追踪需求设置UTM参数,示例参数可按需调整:
utm_source:标记流量来源(如email)utm_medium:标记流量媒介(如stock_alert)utm_campaign:标记活动名称(如restock_notification)- 可选补充:
utm_term(关键词)、utm_content(区分不同通知场景)
2. 修改代码实现参数拼接
需要判断原链接是否已有查询参数(含?),已有则用&拼接UTM,无则用?。修改后的完整代码如下:
// Options - Message if ( get_option('Product_stock_option_message') ) { $options_message = get_option('Product_stock_option_message'); } else { $options_message = 'Hello, The product %product_name% is in stock. You can purchase it here: %product_link%'; } // 构造UTM参数并处理URL拼接 $utm_params = http_build_query([ 'utm_source' => 'email', 'utm_medium' => 'stock_alert', 'utm_campaign' => 'restock_notification' ]); // 根据原链接是否已有参数选择拼接符号 $delimiter = strpos($prod_link, '?') !== false ? '&' : '?'; $prod_link_with_utm = $prod_link . $delimiter . $utm_params; // 替换邮件占位符,使用带UTM的链接 $options_message = str_replace('%product_name%', $prod_title, $options_message); $options_message = str_replace('%product_link%', $prod_link_with_utm, $options_message);
关键说明
http_build_query()会自动完成参数的URL编码,避免特殊字符导致链接失效。- 可根据业务需求调整UTM参数值,比如给不同商品类别设置专属
utm_campaign,或用utm_content区分不同通知模板。
内容的提问来源于stack exchange,提问作者kyarauk
相关产品推荐
相关产品推荐

