| Collection contract | Event has a named business role | Event inventory row, report name, conversion role, owner note. | The event is used in a report but nobody can say what decision it supports. | The event inventory labels it as primary conversion, secondary diagnostic event, or context-only event. |
| Collection contract | Trigger fires from a stable source | Trigger rule, preview-mode proof, changed element risk, test timestamp. | The trigger depends on fragile text, CSS selectors, or untested enhanced measurement behavior. | The trigger uses a reliable data layer event, element ID, or documented application event and has recent preview proof. |
| Collection contract | Required parameters arrive with the event | Debug view, parameter table, custom-dimension registration, naming convention. | Currency, value, item, lead quality, source, or custom dimensions are absent or registered at the wrong scope. | Required parameters are visible in debug evidence and match the event naming and scope convention. |
| Collection contract | Single-page app or ecommerce state is reset correctly | Data layer map, virtual navigation test, ecommerce journey test, affected report. | Old item, cart, page, or user-state values persist across navigation or checkout steps. | Virtual page views and ecommerce pushes show only the current state, not stale merged values. |
| Decision contract | Testing proof matches the reporting use case | Test scenario, debug evidence, affected report, journey step. | The test proves a nearby event but not the event used in the report or recommendation. | The exact event used in the recommendation is proven in preview or debug evidence for the relevant journey. |
| Decision contract | Reserved names and cardinality risks are cleared | Naming review, parameter examples, affected dimension list. | The event name may be reserved, parameters are too long, or values can explode reporting cardinality. | Event names, parameter names, and high-cardinality values are reviewed before the signal is used. |
| Decision contract | Missing evidence is written as a caveat | Review note caveat, owner list, missing-source impact. | The recommendation hides missing parameters, missing test proof, or unknown downstream quality. | Every missing source has an owner, impact, and hold condition in the review note. |
| Decision contract | Action is explicitly approval-gated | Approval log, drafted follow-up, hold note, owner decision. | The checklist result implies an account, tracking, or campaign change without reviewer approval. | The proposed tag, report, campaign, or page follow-up is drafted but marked held until approved. |