Google Analytics integration

You can send flag values and experiment exposures from Hypertune to Google Analytics to add comparisons and breakdowns to your Google Analytics reports. This lets you see the impact of feature releases on key metrics.

1. Send experiment exposures to Google Analytics

Add a new file called trackHypertuneExposure.ts that creates and exports a helper function to send experiment exposures to Google Analytics:

declare const window: any;

export default function trackHypertuneExposure(
  dimensionName: string,
  value: any,
): void {
  window.gtag("event", "hypertune_exposure", {
    user_properties: { [dimensionName]: value },
  });
}

Then call this function immediately after getting your feature flag:

import trackHypertuneExposure from "../lib/trackHypertuneExposure";
import useHypertune from "../lib/useHypertune";

export default function Editor() {
  const rootNode = useHypertune();
  
  const showNewEditor = rootNode.showNewEditor({ fallback: false });
  trackHypertuneExposure("ht_new_editor_test", showNewEditor);
  
  return showNewEditor ? <NewEditor /> : <OldEditor />;
}

2. Create a custom dimension for your experiment

Open Google Analytics. Click Admin in the left sidebar, then Custom definitions, then Create custom dimension. Set:

  • Scope to User

  • Dimension name and User property to the dimension name you set in the call to trackHypertuneExposure, e.g. ht_new_editor_test

Here's what this looks like:

3. View experiment results

Navigate to any report, then:

  1. In the top bar click Add comparison

  2. Set Dimension to the custom dimension for your experiment, e.g. ht_new_editor_test

  3. Set Match Type to contains

  4. Set Value to true

  5. Repeat steps 1 to 4 but with Value set to false

You can now compare the test and control arms of your experiment across all results in the report.

That's it

To track exposures for a new experiment and view its results in Google Analytics, you need to:

  1. Call trackHypertuneExposure in your code immediately after you access its flag

  2. Create a custom dimension in Google Analytics with the same dimension name you passed to trackHypertuneExposure

Then you can add comparisons to compare the test and control arms of your experiment across all your reports.

Last updated