# Start Here

To understand the attribution process, we need to understand the event types we can collect and then implement the collection process via GTM, SDK, or API.

## Event Types

#### **Page View**

When a user navigates through pages, we track basic information on which page the user is on as well as where they are coming from (which websites/apps/users are referring the user to your app or site)

#### **Wallet Connect**

When a user connects their wallet address, we prefer to collect this information to understand their public preferences (e.g., are they a DeFi user, NFT enthusiast, etc.).

**Custom**

There are many important custom events on any website or app that we want to track (form submission, button clicks, sign-ins, etc.) as these can be important conversion events in the funnel. Custom event collection allows us to track these.

## Implementation

There are 3 ways to implement the Spindl SDK and start sending events to us depending on your type of application & existing integrations.

{% tabs %}
{% tab title="Google GTM" %}
We recommend this for most websites that have Google's [GTM](https://marketingplatform.google.com/about/tag-manager/) already installed. You can achieve a lot without ever changing the code in your webiste.

For GTM Integration, go [here](https://docs.spindl.xyz/spindl/techncial/google-gtm-guide).
{% endtab %}

{% tab title="Web/Mobile SDK" %}
Here, we can use either the NPM library, Web Script, or Android/iOS SDK to implement SDK into your applications. We recommend this if you have a mobile app or you have a web app that doesn't have Google GTM.

Follow these integration instructions:

* [NPM](https://docs.spindl.xyz/spindl/techncial/javascript-sdk-html-script-guide)
* [HTML Script](https://docs.spindl.xyz/spindl/techncial/javascript-sdk-html-script-guide)
* [iOS](https://docs.spindl.xyz/spindl/techncial/ios-swift-sdk)
* [Android](https://docs.spindl.xyz/spindl/techncial/android-sdk)
  {% endtab %}

{% tab title="Send Events via API" %}
If a lot of the attribution events that you want to track are in your backend code, you can send us events via our API. Follow the instructions [here](https://docs.spindl.xyz/spindl/techncial/api).
{% endtab %}
{% endtabs %}

## Default vs Lite SDK versions

We offer 2 types of SDKs depending on 2 privacy modes depending on use cases. The vast majority of clients use `default` mode, but feel free to read more about the differences [here](https://docs.spindl.xyz/spindl/techncial/javascript-sdk-html-script-guide/default-vs-lite-sdk-versions).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.spindl.xyz/spindl/techncial/start-here.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
