Tracking plans are managed in the tracking-plans/
directory of a Reflekt project.
code
Reflekt tracking plans are defined using human-readable code (YAML files), allowing anyone to read, understand, and contribute to a plan. It’s this code that allows Reflekt to:
Each event in a tracking plan has its own YAML file, located in the tracking-plans/plan-name/events/
folder. This makes it easy to add new or update existing events in a plan.
Reflekt takes an opinionated stance on required tracking plan best practices. At a minimum, each event must have:
Example Product Added
event
# product-added.yml
- version: 1
name: Product Added
description: Fired when a user adds a product to their cart.
metadata:
code_owner: eng-squad-1
priority: 1
stakeholders:
- product
- marketing
properties:
- name: cart_id
description: Cart ID to which the product was added to.
type: string
required: true
- name: product_id
description: Database ID of the product being viewed.
type: integer
required: true
- name: name
description: Name of the product.
type: string
required: true
- name: variant
description: Variant of the product (e.g. small, medium, large).
type: string
enum:
- small
- medium
- large
required: false
- name: price
description: Price ($) of the product added to the cart.
type: number
required: true
- name: quantity
description: Quantity of the product added to the cart.
type: integer
required: true
- name: discount_value
description: Value of the discount in $ shown to the customer.
type: number
required: false
Event properties are defined under the properties:
config in an event’s YAML file.
# product-added.yml
- version: 1
name: Product Added
description: Fired when a user adds a product to their cart.
properties: # EVENT PROPERTIES CONFIG
- name: cart_id
description: Cart ID to which the product was added to.
type: string
required: true