@schibstedspain/sui-tracking-view

1.7.0 • Public • Published

TrackingView

Tracking view is a component which purpose is to load our desired tracking library if wasn't loaded before and call the method of our tracking library that have the responsibility of do a pageView. For example: utag.view

Who defines the method to call?

The component will not be responsible to call the tracking library, it just will implement the track method that was defined in our props.

Must I define the properties on each component instantiation?

You must, in order to load the library. What we recomend to do is to wrap this component in another one that holds that variables and was the one coupled to your desired library avoiding to pass it in the future, for example.

<TealiumTrackingView>

// The render of the tealium tracking view will be the one to hold the src and maybe also the useCase (is up to you)
render(){
 return <TrackingView
        src='url'
        track={() =>domain.get('usecase').execute(trackingDataObject)}
        isAsync={false}
        verifier={() => window && window.utag}
        />
}

// So you can use TealiumTrackingView abstracted from URL, verifier and even usecase

Installation

$ npm install @schibstedspain/sui-tracking-view --save

Usage

Basic usage

import TrackingView from "@schibstedspain/sui-tracking-view";

return (
  <TrackingView
    src="http://tags.tiqcdn.com/utag/tealium/main/prod/utag.js"
    isAsync={false}
    verifier={() => window && window.utag}
    track={() =>
      domain.get("my_tracking_usecase").execute({
        data_blabla: "test"
      })
    }
  />
);

Find full description and more examples in the demo page.

Dependencies (2)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i @schibstedspain/sui-tracking-view

    Weekly Downloads

    0

    Version

    1.7.0

    License

    MIT

    Unpacked Size

    9.54 kB

    Total Files

    8

    Last publish

    Collaborators

    • schibstedspain