Как получить информацию об URL-параметрах Google Analytics при использовании перенаправления реакции-маршрутизатора для переключения страниц - PullRequest
0 голосов
/ 03 декабря 2018

Я использую редирект, чтобы перейти на последнюю страницу моего сайта.В рамках этого перенаправления я передаю ему несколько URL-параметров, которые сообщают мне, что пользователь сделал до этого момента.

Проблема в том, что когда я добавил Google Analytics, он не обнаружил ни одного из параметров,Я хотел бы иметь возможность собирать данные о.Вот код в index.js:

import Analytics from 'react-router-ga';
import ReactGA from 'react-ga';

ReactGA.initialize('UA-11111111111-1');
ReactGA.pageview(window.location.pathname + window.location.search);

const allGiftsPage = () => { return ( <Results quizType="allgifts" title="All Gifts" /> )}
const popularGiftsPage = () => { return ( <Results quizType="populargifts" title="Popular Gifts" /> )}
const quizResultsPage = () => { return ( <Results title="Results" /> )}

ReactDOM.render(
  <Fragment>
    <title>Find Their Gifts</title>
    <BrowserRouter>
      <Analytics id='UA-111111111-1'>
        <Route exact path="/" component={App}></Route>
        <Route path="/results" component={quizResultsPage}></Route>
        <Route path="/allgifts" component={allGiftsPage}></Route>
        <Route path="/populargifts" component={popularGiftsPage}></Route>
      </Analytics>
    </BrowserRouter>
  </Fragment>
  , document.getElementById('root')
);

А вот код, который вызывает перенаправление:

<Redirect to={`/results?`+
  `quizType=romanticquiz` +
  `&age=${this.state.age}`+
  `&gender=${this.state.gender}`+
  `&color=${this.state.color}`+
  `&vacation=${this.state.vacation}`+
  `&word=${this.state.word}`+
  `&prison=${this.state.prison}`
}

В Google Analytics пользователь, который переходит на эту страницу со всемиэти параметры будут просто отображать '/ results', но если вы обновите страницу результатов, вы получите полный URL со всеми параметрами.

Есть ли хороший способ для меня, чтобы эта функция работала без переделкибольшая часть моего кода?

Спасибо!

1 Ответ

0 голосов
/ 03 декабря 2018

Во-первых, не уверен, почему вы используете react-ga, а также react-router-ga.

По сути, пакетact-ga довольно гибкий, а пакет Reaction-router-g на самом деле является простым компонентом.

Давайте посмотрим, почему не передаются никакие параметры: https://github.com/fknussel/react-router-ga/blob/master/index.js#L53

Строка 53: window.ga('set', 'page', location.pathname);

Если вы хотите, чтобы это работало, измените этовключить другие части URL будет работать.См. Ссылку на объект местоположения .

. Другим решением будет использование решения Reaction-G для использования его с маршрутизатором:

https://github.com/react-ga/react-ga/blob/master/demo/app/withTracker.jsx

...