@am0nshi/react-yandex-metrika
v2.6.1
Published
Yandex Metrika component for React
Downloads
2
Maintainers
Readme
react-yandex-metrika
Adds the Yandex.Metrika script to your page and exposes the ym
tracking
function as a module.
Inspired by and shamelessly copied from react-google-analytics.
Usage:
Use the initializer to add the script to your page somewhere:
import { YMInitializer } from 'react-yandex-metrika';
class MyComponent extends React.Component {
render() {
return (
<div>
// SNIP
<YMInitializer accounts={[987654321]} />
// SNIP
</div>
);
}
});
Please note that you need to initialize the tracker object only once.
Because of that, you should insert initializer to the place where it won't be remounted (that means at least outside of router scope).
If you want to use webvisor, you should pass options={{webvisor: true}}
to to YMInitializer
, for example:
<YMInitializer accounts={[987654321]} options={{webvisor: true}}/>
You can create several identical trackers (that might be useful for domain-wise segmentation).
<YMInitializer accounts={[98765, 4321]} />
You can also specify options for tracker (as described in Yandex.Metrika documentation):
<YMInitializer accounts={[98765]} options={{defer: true}} />
Elsewhere, use the ym
function:
import ym from 'react-yandex-metrika';
ym('hit', '/cart');
ym('reachGoal', 'whateverGoal', {awesomeParameter: 42});
Webvisor 2.0 support
See #6 for details.
<YMInitializer accounts={[31337]} options={{webvisor: true}} version="2" />
Migration from 1.0
- Replace
import { Initializer }
toimport { YMInitializer }
. - Remove
ym.init()
call. Pass arguments ofym.init
as props to theYMInitializer
component. Tracking will be initialized onYMInitializer.componentDidMount
.
Publish
npm login && npm publish --access public