动态流量主要是在投放程序化广告、Ad-Network、AFF 的时候,不能提前预知流量来源于哪个域名。例如投放程序化广告时,根本就不知道下一次广告来自于哪个域名,可能来源于 A.com、B.com、C.com……所以不可能提前设置好 UTM 参数去跟踪,因为 UTM 中的 utm_source 要填来源于哪个域名。
例如着陆页是:
https://www.ichdata.com
做程序化广告可以添加 medium 和 campaign:
https://www.ichdata.com?utm_medium=cpc&utm_campaign=summer-sale
其实还是可以实现动态参数跟踪,拿到该域名。这里讲的是通过GA4来跟踪,有两种方式:
- 通过 Referrer 获取来源于哪个域名,用标准 UTM 格式重写网页地址。
- 通过 Referrer 获取来源于哪个域名,通过网址获取其他广告参数,覆盖 Source、Medium、Campaign 字段。
方式一:标准UTM格式重写网页地址
原理:通过 Referrer 获取来源于哪个域名,用标准 UTM 格式重写网页地址。实际上GA4接收到的页面地址就是重写后的,是标准 UTM 格式,从而实现跟踪动态流量。
实现过程
假设现在投放的着陆页URL是这样的:
https://www.ichdata.com?utm_medium=cpc&utm_campaign=summer-sale&tt=change
现在需要获取来源于哪个网站,获取来源网站的域名,并添加到 utm_source 上面去。
Step 1:创建Source变量
在GTM创建一个变量,命名为Source作如下设置:
这个就是获取流量来源的域名。
Step 2:创建Medium变量
创建第二个变量,命名为Medium,做如下设置:
Step 3:创建Campaign变量
创建第三个变量,命名为Campaign,做如下设置:

Step 4:创建触发器Change Page URL
创建一个触发器,命名为Change Page URL,然后做如下设置:
tt=change是动态流量的标识,着陆页上带有这个的就是动态流量,需要改写URL的。
Step 5:创建标签“标准 UTM 重写 URL”
创建一个标签,命名为“标准 UTM 重写 URL”,然后做如下设置:
主要就是在Field Name中设置Page,Value就是标准化UTM参数,去覆盖Page这个字段,在GA4中看到的就是标准化的UTM页面了。
还需要注意触发器是Change Page URL,只有带有tt=change动态流量的标识才会改写URL。
Step 6:排除基础跟踪,避免发送两次
做到这里,还需要设置一步,就动态流量的页面排除出GA4的基础跟踪,将触发器Change Page URL排除掉,不然会发送两次的:
这样动态流量页面只会触发“标准 UTM 重写 URL”标签,不会重复触发基础配置标签。
方式二:覆盖Source、Medium和Campaign字段
原理:通过 Referrer 获取来源于哪个域名,通过网址获取其他广告参数,覆盖 Source、Medium、Campaign 字段。这里的做法是直接覆盖 UTM 的每个字段。
实现过程
下面来看看具体的实现过程,大部分的设置是跟方式一是一样的,只不过在创建Tag后的设置不一样,我们这里直接将创建Tag的设置。
创建一个Tag命名为重写URL,作如下配置:
在Field Name中直接设置Source、Medium和Campaign。如果是动态流量,就自动获取值覆盖过去。
在GA4的基础跟踪将触发器Change Page URL排除掉,不然会发送两次的:
这样就实现了动态流量的跟踪。
总结
动态流量无法提前设置 utm_source,但可以通过 GTM 与 GA4 的组合解决。
方式一是用 Referrer 获取来源域名,重写 page_location 为标准 UTM URL;
方式二是直接覆盖 Source、Medium、Campaign 字段。实务上建议优先使用方式一,并记得排除基础跟踪,避免重复发送。
若 Referrer 为空,则需改用广告平台宏或落地页参数。





