Google Analytics(分析)UTM跟踪网址中的变量

时间:2019-04-04 22:55:54

标签: google-analytics utm-tracking

我需要能够在Google Analytics(分析)中跟踪UTM参数,而不必将它们放在URL中。

我们在页面加载时加载信息,并且我们想在我们的UTM参数中使用此信息,并且我们不想将用户重定向到附加了UTM变量的URL。

我在此页面上看到您可以使用javascript调用综合浏览量,但无论如何我都看不到指定utm参数:https://developers.google.com/analytics/devguides/collection/analyticsjs/pages

1 个答案:

答案 0 :(得分:-1)

我只是使用Google gtag.js documentation on PageViews编辑用于加载初始综合浏览量信息的脚本。

我首先提取当前URL,并将变量附加到URL的末尾,然后将新URL作为综合浏览量传递,以覆盖没有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>