---
title: Structure: Event types and attributes
slug: experience/structure-event-types-and-attributes
description: Learn about the event types and attributes that can be tracked in Purple apps. Purple's tracking services classify events into actions, views, and purchases, with the option to include attributes that describe a state. Get insights on how this division is
docTags: 
createdAt: 2023-06-07T12:33:27.000Z
---

## Event types and attributes level

Purple apps support tracking via several tracking services. Each tracking service usually distinguishes three types of events:

- Actions
- Views
- Purchases

Some tracking services also support attributes.&#x20;

- Attributes

Attributes are fundamentally different from events because they do not represent an event that occurs at a specific time, but describe a state that a user or the app has.

## Technical subdivision of events and attributes

Purple also use this division to reflect the behavior of the tracking services:

| **Name of key in configuration**            | **Description**             |
| ------------------------------------------- | --------------------------- |
| <font color="#2166ae">**events**</font>     | Groups all action events.   |
| <font color="#2166ae">**views**</font>      | Groups all view events.     |
| <font color="#2166ae">**purchases**</font>  | Groups all purchase events. |
| <font color="#2166ae">**attributes**</font> | Groups all attributes.      |

## Example

### Introduction

::::VerticalSplit{layout="middle"}
:::VerticalSplitItem
We then show this division using an example (we have already learned the structure for this in chapter [Structure: Tracking services](docId:28leVq2NVel_A-pErh1RD)):

First, let's assume a scenario where a Purple Customer wants to use Airship and Firebase. For example, the following structure would result at the tracking service level:
:::

:::VerticalSplitItem
![](https://api.archbee.com/api/optimize/ygR6KtT9QI_R0u3uKTJsm/M0vRlPEvK4rOKuoMaj0Sg_02eventtypes01.png)
:::
::::

### Add event types and attributes

:::::VerticalSplit{layout="middle"}
::::VerticalSplitItem
Then the sections for the event types and attributes are added to the individual tracking services, as well as the default section.

Sections can be omitted if no events or attributes are configured there.

:::hint{type="info"}
For example, Firebase does not offer an API in its native SDK to send purchase events. It is therefore not necessary to configure the purchase section in Firebase and is omitted accordingly.
:::


::::

:::VerticalSplitItem
![](https://api.archbee.com/api/optimize/ygR6KtT9QI_R0u3uKTJsm/CszTeHGkFEvDuNzv02q3f_02eventtypes02.png)
:::
:::::

::::ExpandableHeading
### tracking\_config.json

:::CodeblockTabs
Example code&#x20;

```json
{
  "default":{
    "events":{
      
    },
    "views":{
      
    },
    "purchases":{
      
    },
    "attributes":{
      
    }
  },
  "airship":{
    "events":{
      
    },
    "views":{
      
    },
    "purchases":{
      
    },
    "attributes":{
      
    }
  },
  "firebase":{
    "events":{
      
    },
    "views":{
      
    },
    "attributes":{
      
    }
  }
}
```
:::
::::















