Google Analytics UTM отслеживает изменения переменных в URL - PullRequest
0 голосов
/ 05 апреля 2019

Мне нужно иметь возможность отслеживать параметры UTM в Google Analytics без их нахождения в URL.

Мы загружаем информацию при загрузке страницы и хотим использовать эту информацию в наших параметрах UTM, и мыне хочу перенаправлять пользователей на URL с добавленными переменными UTM.

Я вижу, что на этой странице вы можете вызвать просмотр страницы с помощью javascript, но я не вижу возможности указать параметры utm: https://developers.google.com/analytics/devguides/collection/analyticsjs/pages.

1 Ответ

0 голосов
/ 05 апреля 2019

Я просто использовал документацию Google gtag.js для PageViews , чтобы редактировать скрипт, который загружает начальную информацию о просмотре страницы.

Сначала я извлекаю текущий URL-адрес, добавляю переменные в конец URL-адреса и передаю новый URL-адрес как просмотр страницы для переопределения URL-адреса без параметров UTM.

Я использую 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>
...