Violation Management

Learn about the different tracking plan violation types.
Available Plans
  • free
  • starter
  • growth
  • enterprise

This guide walks you through the different tracking plan violation types in detail. You can use this information to avoid any tracking plan violations in the future by:

  • Updating your tracking plan configuration
  • Fixing your event instrumentation to comply with the tracking plan rules

Violation types

Violation typeDescription
Unplanned-EventEvent is not defined in the tracking plan.
Required-MissingProperties defined as Required are missing in the event.
Datatype-MismatchData type of the event property does not match the Property Type defined in the tracking plan.
Additional-PropertiesOccurs if:

  • Additional Properties field in the tracking plan is set to False.
  • New event properties are received that are not defined in the tracking plan.
Unknown-ViolationAny other violation.

Sample violations object

{
  "violationErrors": [{
      "message": "must have required property 'apiPath'",
      "meta": {
        "instancePath": "/properties",
        "schemaPath": "#/properties/properties/required"
      },
      "type": "Required-Missing"
    },
    {
      "message": "must have required property 'ipAddress'",
      "meta": {
        "instancePath": "/properties",
        "schemaPath": "#/properties/properties/required"
      },
      "type": "Required-Missing"
    },
    {
      "message": "must NOT have additional properties 'val'",
      "meta": {
        "instancePath": "/properties",
        "schemaPath": "#/properties/properties/additionalProperties"
      },
      "type": "Additional-Properties"
    },
    {
      "message": "no schema for event: Demo Track - New",
      "meta": {},
      "type": "Unplanned-Event"
    },
    {
      "message": "must be string",
      "meta": {
        "instancePath": "/properties/userId",
        "schemaPath": "#/properties/properties/properties/userId/type"
      },
      "type": "Datatype-Mismatch"
    }
  ]
},

FAQ

RudderStack propagates any context related to the tracking plan violations to your destinations.

You can use this context in your transformations for filtering or modifying the events before they reach the destination.


Questions? Contact us by email or on Slack