Google analytics Google Analytics UTM跟踪,URL中无变量

Google analytics Google Analytics UTM跟踪,URL中无变量,google-analytics,utm-tracking,Google Analytics,Utm Tracking,我需要能够跟踪谷歌分析中的UTM参数,而不必将它们放在URL中 我们在页面加载时加载信息,我们希望在UTM参数中使用这些信息,我们不希望将用户重定向到附加了UTM变量的URL 我在这个页面上看到,您可以使用javascript调用pageview,但我看不到如何指定utm参数:。我只是使用来编辑加载初始pageview信息的脚本 我首先提取当前URL并将变量附加到URL的末尾,然后将新URL作为pageview传递,以覆盖不带UTM参数的URL 我使用的是laravel,因此@if语句将在JS中

我需要能够跟踪谷歌分析中的UTM参数,而不必将它们放在URL中

我们在页面加载时加载信息,我们希望在UTM参数中使用这些信息,我们不希望将用户重定向到附加了UTM变量的URL

我在这个页面上看到,您可以使用javascript调用pageview,但我看不到如何指定utm参数:。

我只是使用来编辑加载初始pageview信息的脚本

我首先提取当前URL并将变量附加到URL的末尾,然后将新URL作为pageview传递,以覆盖不带UTM参数的URL

我使用的是laravel,因此@if语句将在JS中工作,{{}}响应变量

<script>
    var url = new URL( window.location.href );
    @if( isset( $request->utm_source ) )
        url.searchParams.set( 'utm_medium', '{{ strtolower( $request->utm_source ) }}' );
    @endif
    @if( isset( $request->utm_medium ) )
        url.searchParams.set( 'utm_medium', '{{ strtolower( $request->utm_medium ) }}' );
    @endif
    @if( isset( $request->utm_campaign ) )
        url.searchParams.set( 'utm_campaign', '{{ strtolower( $request->utm_campaign ) }}' );
    @endif
    @if( isset( $request->utm_term ) )
        url.searchParams.set( 'utm_term', '{{ strtolower( $request->utm_term ) }}' );
    @endif
    @if( isset( $request->utm_content ) )
        url.searchParams.set( 'utm_content', '{{ strtolower( $request->utm_content ) }}' );
    @endif

    function gtag() {
        dataLayer.push(arguments)
    }
    window.dataLayer = window.dataLayer || [], gtag("js", new Date), gtag("config", "GA_MEASUREMENT_ID", {
        'page_title': document.title,
        'page_location': url.href
    });
</script>

var url=新url(window.location.href);
@如果(isset($request->utm_source))
searchParams.set('utm_medium','{{strtolower($request->utm_source)}}');
@恩迪夫
@if(isset($request->utm_medium))
searchParams.set('utm_medium','{{strtolower($request->utm_medium)}}');
@恩迪夫
@if(isset($request->utm_活动))
set('utm_活动','{strtolower($request->utm_活动)}}');
@恩迪夫
@如果(isset($request->utm_term))
searchParams.set('utm_term','{{strtolower($request->utm_term)}}');
@恩迪夫
@if(isset($request->utm_内容))
set('utm_content','{{strtolower($request->utm_content)}}');
@恩迪夫
函数gtag(){
dataLayer.push(参数)
}
window.dataLayer=window.dataLayer | |[],gtag(“js”,新日期),gtag(“配置”,“GA测量ID”{
“页面标题”:document.title,
“页面位置”:url.href
});

能否更具体地说明URL的外观?UTM参数的目的是跟踪交通的采集通道。一旦用户登陆页面,设置它,那么你的跟踪就会不准确,并且会触发不必要的会话。好的,URL将只是来自广告的普通登陆URL,所以www.example.com/path/to/post。但一旦用户登陆页面,我们就会从数据库中提取关于帖子的信息,因此我们希望将这些信息发送给分析部门。这将导致GA出现问题。这也不是UTM跟踪。即使可能,我也不建议你这样做。也许可以尝试使用一些自定义维度。正如我在评论中所说的,这不是一个好的解决方案。这将导致您将所有内容作为活动“未设置”进行跟踪,而不管用户是否通过活动进行跟踪,并且由于设置活动参数会导致GA启动新会话,因此它将加倍计算会话数。事实并非如此。它工作得很好。我编辑了初始化脚本,而不是调用两次,所以它只执行一次。好的,您可以继续执行您正在执行的操作。我已经告诉过您使用自己的UTM解决方案给自己带来的风险和问题。使用此解决方案,您将跟踪未在“取消设置”活动中定义的所有内容,这反过来会导致您在所有频道的实际来源和媒体中的可见性降低。我只在设置了可访问性之后才设置它们。我们没有能力这样做。因此,这样做总比没有我们需要的任何信息要好。谢谢你的警告,但有时“不是最好的方式”,是在这种情况下最好的方式。我了解风险和问题,并做出明智的决定,这是为我的老板提供理想结果的最佳方式。