Tools Mcp / Adtech

Conversion Event Reconciler

Deterministically deduplicate browser and server conversion events and reconcile them with first-party business outcomes.

Access

Read only · Local event fixtures or approved event export

Not verifiedLocal programRequirements & limits

Inputs

  • JSON browser_events and server_events, with optional first-party outcomes
  • Pseudonymous event and order IDs

Outputs

  • Canonical events with deduplication and source provenance
  • Outcome reconciliation, counts and warnings

Before you begin

  • Python 3 for the packaged sample. Keep access tokens, raw emails and payment credentials out of event payloads.

Try this first

Inspect the packaged offline sample before running it. After file installation, use the stated runtime from the installed package directory.

Limits for this step
  • A local deterministic script is packaged, but clean-client installation evidence is not yet recorded.
  • Live event collection and platform uploads are outside this package.
  • Reads supplied files and writes JSON to stdout; live event collection and platform uploads are out of scope.
Inspect offline sampleHide offline sampleSynthetic example

Runtime · Python 3. Run from the installed package directory after file installation.

python3 scripts/reconcile_events.py examples/input.json

Expected result · JSON canonical events, reconciliation counts and missing-ID warnings on standard output.

This is the release’s documented sample, separate from evidence of operation in your environment.

Sample input
{
  "browser_events": [
    {
      "event_name": "purchase",
      "event_id": "evt-100",
      "order_id": "ord-100",
      "value": 79,
      "currency": "GBP"
    },
    {
      "event_name": "lead",
      "order_id": null,
      "value": 0,
      "currency": "GBP"
    }
  ],
  "server_events": [
    {
      "event_name": "purchase",
      "event_id": "evt-100",
      "order_id": "ord-100",
      "value": 79,
      "currency": "GBP"
    },
    {
      "event_name": "purchase",
      "event_id": "evt-101",
      "order_id": "ord-101",
      "value": 49,
      "currency": "GBP"
    }
  ],
  "outcomes": [
    {
      "order_id": "ord-100",
      "status": "settled"
    },
    {
      "order_id": "ord-101",
      "status": "refunded"
    }
  ]
}
Expected sample output
{
  "canonical_events": [
    {
      "conflicts": [],
      "currency": "GBP",
      "event_id": "evt-100",
      "event_name": "purchase",
      "key": "purchase:evt-100",
      "order_id": "ord-100",
      "outcome": {
        "order_id": "ord-100",
        "status": "settled"
      },
      "sources": [
        "browser_events",
        "server_events"
      ],
      "value": 79
    },
    {
      "conflicts": [],
      "currency": "GBP",
      "event_id": null,
      "event_name": "lead",
      "key": "unmatched:691465d8951926e5",
      "order_id": null,
      "outcome": null,
      "sources": [
        "browser_events"
      ],
      "value": 0
    },
    {
      "conflicts": [],
      "currency": "GBP",
      "event_id": "evt-101",
      "event_name": "purchase",
      "key": "purchase:evt-101",
      "order_id": "ord-101",
      "outcome": {
        "order_id": "ord-101",
        "status": "refunded"
      },
      "sources": [
        "server_events"
      ],
      "value": 49
    }
  ],
  "summary": {
    "canonical_event_count": 3,
    "duplicate_event_count": 1,
    "raw_event_count": 4,
    "reversed_outcome_count": 1,
    "verified_outcome_count": 1
  },
  "warnings": [
    {
      "code": "missing_event_id",
      "key": "unmatched:691465d8951926e5",
      "source": "browser_events"
    }
  ]
}

Summary sources · Catalogue metadata, tool.yaml, TOOL.md, README.md, examples/input.json, examples/output.json · v0.1.0 · Release package

View capabilities and accessHide capabilities and accessv0.1.0

What it can do

  • Deduplicate browser and server events by event name and event ID.
  • Preserve event provenance and flag conflicting values.
  • Reconcile conversions with first-party outcomes.

Access limits

Reads supplied files and writes JSON to stdout; live event collection and platform uploads are out of scope.

Trust boundary · local-tool

Credentials and setup

  • None for local fixtures

Install tool files

These commands install package files and generate runtime configuration where supported. Confirm discovery in your agent app, then check configuration, authentication and a first useful operation.

Install (Codex)

./bin/skills-hub install --module tools --entry adtech/[email protected] --runtime codex

Install (Claude)

./bin/skills-hub install --module tools --entry adtech/[email protected] --runtime claude

Install (Generic)

./bin/skills-hub install --module tools --entry adtech/[email protected] --runtime generic --target ./my-agent/tools-mcp

How You Can Use This

Not verified

Resource form: Local program

Current operational evidence for your environment is not shown here. Check the implementation, installation requirements and limits before use.

First run: python3 scripts/reconcile_events.py examples/input.json

Current limits

  • A local deterministic script is packaged, but clean-client installation evidence is not yet recorded.
  • Live event collection and platform uploads are outside this package.
What installation and verification mean
File installation
Places package files and generated configuration in the selected directories.
Native discovery
Your agent app finds and accepts the instructions, tools or plugin registrations.
Mock execution
Exercises sample fixtures. Connected data and provider effects need a separate check.
Connected operation
Requires current configuration, provider authentication, scoped permissions and a successful operation in your intended environment.

Declared compatibility

Maintainer-reviewed information for version 0.1.0 · Reviewed 2026-10-31. This is not a live provider check.

  • Runtime: Python 3; the release does not specify a minimum minor version.
  • Uses the Python standard library with local JSON input and output; no provider API or SDK dependency.

Limits

  • Reconciles supplied event exports or fixtures; it does not collect live events or upload conversions to a provider.
  • This editorial review does not change the package's Not verified classification.

Reviewed conversion reconciler release implementation

Classification: declared

Technical details and release files

Review and lifecycle

Review maturity: Experimental

Security review declaration: Not declared

Lifecycle: Active

These release declarations are separate from evidence that a workflow operates in your environment.

Runtime & Dependencies

ID: adtech/conversion-event-reconciler

Tags: measurement, deduplication, pixel, conversions-api, first-party-data

Runtimes: codex, claude, generic

Dependencies & Setup

MCP servers: Not documented

APIs: Not documented

Local tools: python3