# Manually track impressions, conversions and clicks on a data model

**URL:** <https://forum.builder.io/t/manually-track-impressions-conversions-and-clicks-on-a-data-model/2700>\
**Category:** CMS\
**Tags:** insights\
**Created:** [October 6, 2022, 1:36am UTC](https://forum.builder.io/t/manually-track-impressions-conversions-and-clicks-on-a-data-model/2700 "2022-10-06T01:36:39Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![TimG](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.builder.io/timg/32/714_2.png) [@TimG](https://forum.builder.io/u/TimG)\
**Post date:** [October 6, 2022, 1:36am UTC](https://forum.builder.io/t/manually-track-impressions-conversions-and-clicks-on-a-data-model/2700/1 "2022-10-06T01:36:40Z")

</div>

If you are using our React SDK, you can easily add data tracking to any data model, which has been well documented already here: [A/B testing data models](https://forum.builder.io/t/a-b-testing-data-models/158)

and here: [Adding Insights Tracking for your Data Models with React](https://forum.builder.io/t/adding-insights-tracking-for-your-data-models-with-react/2699)

But, if you are not using React, or don’t want to use [`<BuilderContent />`](https://github.com/BuilderIO/builder/tree/main/packages/react#buildercontent) for some reason (though we highly recommend you do!), you can still manually add tracking with our core JS SDK

```auto
import { builder } from '@builder.io/sdk';

builder
  .get('blog-article'
  .promise()
  .then(content => {
      // Track an impression of this test group content
      builder.trackImpression(content.id, content.testVariationId)
  });

```

And you can add any click tracking manually with

Next, make sure you have setup [conversion tracking](https://www.builder.io/c/docs/conversion-tracking) to have conversion tracking data on your appropriate data model.

```auto
// E.g. when a purchase occurs for $99.99
builder.trackConversion(99.99);

```

And to get engagement data, you can also track clicks by calling the `builder.trackInteraction`, method, as below

```auto
  <button
    onClick={() => {
      builder.trackInteraction(content.id, content.testVariationId);
    }}
  >
    {ctaText}
  </button>

```

Try it out within your app and let us know how it goes!
