For the complete documentation index, see llms.txt. This page is also available as Markdown.

HTML quickstart

1. Define your schema

Hypertune uses GraphQL for its schema definition language.

Go to the Schema view, switch to GraphQL mode and paste the following starter schema:

type Query {
  root(context: Context!): Root!
}

input Context {
  environment: Environment!
  user: User!  
}

enum Environment { DEVELOPMENT, STAGING, PRODUCTION }

input User {
  id: String!
  userAgent: UserAgent!
  referer: String!
}

type Root {
  exampleFlag: Boolean!
  userId: String!
  ctaClick: Void!
}

# User agent types

input UserAgent {
  browser: Browser!
  device: Device!
  engine: Engine!
  os: OS!
  cpu: CPU!
}

input Browser {
  name: String! # e.g. Chrome, Edge, Firefox, Safari
  version: String! # dynamic
}

input Device {
  type: String! # e.g. mobile, wearable, tablet
  vendor: String! # e.g. Apple, Google, HP, HTC, Huawei, Microsoft, Motorola, Nokia, Samsung
  model: String! # dynamic
}

input Engine {
  name: String! # e.g. Amaya, EdgeHTML, Gecko
  version: String! # dynamic
}

input OS {
  name: String! # e.g. Android, BlackBerry, Chromium OS, iOS, Mac OS, Windows
  version: String! # dynamic
}

input CPU {
  architecture: String! # e.g. 68k, amd64, arm, arm64
}

2. Define your logic

Go to the Logic view and select the "User Id" field. Set it to Context > User > Id.

Now select the "Cta Click" field. Set it to a Log Event expression with a new event type called "CTA Click". Set the Unit ID to Context > User > Id.

Click "Save" in the top right corner.

3. Fetch your flags

Go to the Preview view and enter the following query:

Enter the following query variables:

Hypertune uses GraphQL for its query language. In the Result panel, you can see the flag that matches your query.

The #UID# value for the userId variable is a special placeholder that gets replaced with a randomly generated unique ID.

The #UA# placeholder gets replaced with the user agent and the #REFERER# placeholder gets replaced with your page URL.

Go to the Code Snippets tab in the Result panel and select HTML. Copy the snippet and insert it in the <head> of your page.

4. Use your flags

To show or hide a section depending on your flag value, replace the section's code:

6. Log events

Switch to the Preview view and enter the following query:

Enter the following query variables:

Go to the Code Snippets tab in the Result panel and select JavaScript. This snippet defines a function named queryHypertune. Copy the snippet and insert it inside a new <script> section after the existing Hypertune snippet. Then define another function named ctaClick that calls queryHypertune to log the CTA Click event:

Now you can call the ctaClick function when the user clicks your CTA:

Next steps

Now you can update the logic for exampleFlag from the Hypertune UI without updating your code or waiting for a new build, deployment, or release.

Last updated