Skip to content

Tracking Developer Overview

In this article we look at Bizzkit Tracking from a developer's perspective and explain how to set up the client. See the tutorials for step-by-step examples for each SDK.

Before getting started

In this concept article you can find an overview of Bizzkit Tracking, including its architecture and event types. If you haven't already, we recommend reading it.

Setting up the client

For easy integration with Microsoft .NET, Bizzkit offers SDK packages. These packages include auto-generated Swagger clients and a factory class to simplify authentication. They automate token renewal and provide type-safe methods for the API endpoints.

All SDK package names start with the prefix Bizzkit.Sdk., and the SDK packages incorporate the following elements:

  • A client factory
  • A dedicated client
  • Options to configure the client factory

Info

Preview versions are identified as Bizzkit.Sdk.[product].Preview, such as Bizzkit.Sdk.Iam.Preview or Bizzkit.Sdk.Pim.Preview.

To access the Bizzkit NuGet packages in your preferred development environment, you need to reference the Bizzkit Partner feed. You can, for example, do this by adding a nuget.config file to your project with the following configuration:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear />
    <add key="nuget" value="https://api.nuget.org/v3/index.json" />
    <add key="bizzkit-partner" value="https://pkgs.dev.azure.com/bizzkit-platform/7dad82b4-f2ae-4a3a-ab87-3fc791e4ea62/_packaging/bizzkit-partner-feed/nuget/v3/index.json" />
  </packageSources>
  <packageSourceMapping>
    <packageSource key="nuget">
      <package pattern="*" />
    </packageSource>
    <packageSource key="bizzkit-partner">
      <package pattern="Bizzkit*" />
    </packageSource>
  </packageSourceMapping>
</configuration>

This configuration clears existing package sources and adds the Bizzkit Partner feed alongside the official NuGet source.

Once the feed is configured, you can install the required NuGet package using the following command:

dotnet add package Bizzkit.Sdk.EventTracking.EventReceiver

The Event Receiver SDK provides an unauthenticated client — no OAuth token is required. Events are associated with the correct tenant and segment via the instrumentation key included in each request.

using Bizzkit.Sdk.EventTracking.EventReceiver;

var factory = new EventReceiverClientFactory(
    new EventReceiverConnectionOptions
    {
        BaseUrl = "https://event-tracking-eventreceiver.bizzkit.biz"
    },
    new HttpClient());

var client = await factory.CreateUnauthenticatedClientAsync();
npm install @bizzkit/event-tracking-sdk

The npm package provides an EventTracker that batches and sends events to the Event Receiver — no OAuth token is required.

Note

Unlike the .NET SDK, the npm endpoint is the full URL including /api/events.

1
2
3
4
5
6
import { EventTracker } from '@bizzkit/event-tracking-sdk'

const tracker = new EventTracker({
    endpoint: 'https://event-tracking-eventreceiver.bizzkit.biz/api/events',
    instrumentationKey: 'your-instrumentation-key',
})

Key considerations

  • Batch events — The TrackedEventBatchModel supports multiple events in a single request. Batch related events together when possible to reduce HTTP overhead.
  • Idempotency — Events are processed at-least-once. Design your analytics to be tolerant of duplicate events.
  • Instrumentation key security — Treat instrumentation keys as semi-sensitive. They identify your tenant and segment but do not grant access to stored data.