# Designing an Event Taxonomy

<figure><img src="https://content.gitbook.com/content/KGOeGww72vu5In7SeJ8c/blobs/SivyOrRJIe4UVRDkx2hQ/8.%20%E1%84%8B%E1%85%B5%E1%84%87%E1%85%A6%E1%86%AB%E1%84%90%E1%85%B3%20%E1%84%90%E1%85%A2%E1%86%A8%E1%84%89%E1%85%A9%E1%84%82%E1%85%A9%E1%84%86%E1%85%B5%20%E1%84%8B%E1%85%B5%E1%86%AF%E1%84%85%E1%85%A5%E1%84%89%E1%85%B3%E1%84%90%E1%85%B3.png" alt=""><figcaption></figcaption></figure>

## **What is taxonomy?**

Taxonomy refers to <mark style="background-color:green;">**a consistent system for classifying data according to the definition**</mark> in DFINERY.&#x20;

It is a standard for the purpose of systematically classifying and managing data.&#x20;

Designing a taxonomy of systematic events and attribute data is **the '**<mark style="background-color:purple;">**first step**</mark>**'** for using DFINERY.&#x20;

It is important to clearly decide which data to link from the initial stage of service and plan how to effectively utilize it for analysis and CRM.

## **Why Taxonomy Design Matters**

* Collecting data through a predefined system reduces the possibility of internal confusion.
* Problems can arise when data is linked without clear standards and agreements, and preventing this in advance can avoid the potentially cumbersome and complicated re-linking process.
* It gives you a clear understanding of the criteria and method by which data is collected, which helps you plan additional uses, such as CRM campaigns.

  ### &#x20;<a href="#undefined-2" id="undefined-2"></a>

## **Basic steps of taxonomy design and integration**

<figure><img src="https://content.gitbook.com/content/KGOeGww72vu5In7SeJ8c/blobs/bs0zRKLquMVdaKmvRvzR/9.%20%E1%84%90%E1%85%A2%E1%86%A8%E1%84%89%E1%85%A9%E1%84%82%E1%85%A9%E1%84%86%E1%85%B5%20%E1%84%89%E1%85%A5%E1%86%AF%E1%84%80%E1%85%A8%20%E1%84%86%E1%85%B5%E1%86%BE%20%E1%84%8B%E1%85%A7%E1%86%AB%E1%84%83%E1%85%A9%E1%86%BC%E1%84%8B%E1%85%B4%20%E1%84%80%E1%85%B5%E1%84%87%E1%85%A9%E1%86%AB%20%E1%84%89%E1%85%AE%E1%86%AB%E1%84%89%E1%85%A5%20%E1%84%8B%E1%85%B5%E1%84%86%E1%85%B5%E1%84%8C%E1%85%B5%E1%84%85%E1%85%A9%20%E1%84%80%E1%85%AD%E1%84%8E%E1%85%A6.png" alt=""><figcaption></figcaption></figure>

### **Step 1**

<table data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td>Standard Events</td><td>Create by selecting the required event</td><td></td></tr><tr><td><p>Standard event properties</p><p></p><p>Create by selecting the required event properties</p></td><td></td><td></td></tr><tr><td>Standard User Profile Properties</td><td>Create by selecting the required standard user profile attributes</td><td></td></tr></tbody></table>

### **Step 2**

<table data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td>Create custom events tailored to your service's needs</td><td></td><td></td></tr><tr><td>Create custom event properties to suit your service's needs</td><td></td><td></td></tr><tr><td>Create custom user profile attributes to suit your service's needs</td><td></td><td></td></tr></tbody></table>

### **Step 3**

<table data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td>Events and properties registered in steps 1 and 2 are linked to actual data through the development team</td><td></td><td></td></tr></tbody></table>

## **Events and Attributes Provided by** DFINERY

### **Standard Events**

<table><thead><tr><th width="227">Event/Property Name</th><th width="144">Notation Name</th><th width="424">Explanation</th></tr></thead><tbody><tr><td>df_sign_up</td><td>Join the membership</td><td>Action taken by a user to sign up as a member of a service</td></tr><tr><td>df_logout</td><td>Log out</td><td>Action taken by the user to log out of the app</td></tr><tr><td>df_login</td><td>Log in</td><td>The action of a user logging into the app</td></tr><tr><td>df_add_payment_info</td><td>Enter purchase information</td><td>Action taken by the user to enter purchase information</td></tr><tr><td>df_view_cart</td><td>View Cart</td><td>Action taken by the user to view the shopping cart</td></tr><tr><td>df_remove_cart</td><td>Delete Cart</td><td>Action taken by a user to remove a product from the shopping cart</td></tr><tr><td>df_view_list</td><td>View product list</td><td>Action taken by the user to view a list of products</td></tr><tr><td>df_share_product</td><td>Share this product</td><td>Actions by product users to share products</td></tr><tr><td>df_view_search_result</td><td>Search for products</td><td>The action of a commercial user searching for a product and checking the results</td></tr><tr><td>df_refund</td><td>Cancel Order</td><td>Action taken by the user to cancel an order</td></tr><tr><td>df_add_to_wishlist</td><td>Add to Wishlist</td><td>Action taken by a user to add a product to their interest list</td></tr><tr><td>df_add_to_cart</td><td>Put in a shopping cart</td><td>The action of a user adding a product to the shopping cart</td></tr><tr><td>df_view_product_details</td><td>View product details</td><td>An action taken by a user to view detailed information about a specific product</td></tr><tr><td>df_view_home</td><td>View Home Screen</td><td>The action taken by a user to view the home screen of an app or web</td></tr><tr><td>df_purchase</td><td>Purchase</td><td>The action of a user purchasing a product or service</td></tr><tr><td>df_end_session</td><td>Session End</td><td>Action that terminates a session (SDK only)</td></tr><tr><td>df_start_session</td><td>Running a session</td><td>Actions that run a session (SDK only)</td></tr></tbody></table>

### **Standard event properties**

<table><thead><tr><th width="154">Event/Property Name</th><th width="149">Notation Name</th><th width="114">Data Type</th><th>Explanation</th></tr></thead><tbody><tr><td>df_delivery_charge </td><td>Shipping Fee</td><td>Double</td><td>Shipping charges applied to your order</td></tr><tr><td>df_payment_method</td><td>Payment Method</td><td>String</td><td>Payment method used for order</td></tr><tr><td>df_order_id </td><td>Order Number (ID)</td><td>String</td><td>A unique number or ID that identifies the order</td></tr><tr><td>df_sign_channel</td><td>Membership Channel</td><td>String</td><td>Channel used for membership registration</td></tr><tr><td>df_total_purchase_amount</td><td>Order Total</td><td>Double</td><td>Total amount of order</td></tr><tr><td>df_total_refund_amount</td><td>Total refund (cancellation) amount</td><td>Double</td><td>Total refund or cancellation amount for your order</td></tr><tr><td>df_discount</td><td>Product Discount Price</td><td>Double</td><td>Discount applied to product</td></tr><tr><td>df_sharing_channel</td><td>Product sharing channel</td><td>String</td><td>Channels used to share products</td></tr><tr><td>df_keyword </td><td>Search Keywords</td><td>String</td><td>Search keywords used at the time the order was placed</td></tr><tr><td><em><mark style="color:green;"><strong>df_items</strong></mark></em></td><td>Goods</td><td>List of Object</td><td>An array containing information about each product</td></tr><tr><td>df_items.[n].df_item_id</td><td>Product Number (ID)</td><td>String</td><td>A unique number or ID that identifies each product <em><mark style="color:green;">in the</mark></em> <em><mark style="color:green;">df_items sub-attribute</mark></em></td></tr><tr><td>df_items.[n].df_item_name</td><td>Product name</td><td>String</td><td>The name of each product <em><mark style="color:green;">in the sub-attribute of df_items</mark></em></td></tr><tr><td>df_items.[n].df_quantity</td><td>Product Quantity</td><td>Long</td><td>The order quantity for each product <em><mark style="color:green;">in the sub-attribute of df_items</mark></em></td></tr><tr><td>df_items.[n].df_price</td><td>Product unit price</td><td>Double</td><td>Unit price of each product <em><mark style="color:green;">in the sub-attribute of df_items</mark></em></td></tr><tr><td>df_items.[n].df_discount</td><td>Product Discount Price</td><td>Double</td><td>Discount applied to <em>the <mark style="color:green;">sub-attribute product of df_items</mark></em></td></tr><tr><td>df_items.[n].df_category1</td><td>Product Category 1</td><td>String</td><td>Attribute for classifying multiple categories of products <em><mark style="color:green;">in df_items' sub-attributes</mark></em></td></tr><tr><td>df_items.[n].df_category2</td><td>Product Category 2</td><td>String</td><td>Attribute for classifying multiple categories of products <em><mark style="color:green;">in df_items' sub-attributes</mark></em></td></tr><tr><td>df_items.[n].df_category3</td><td>Product Category 3</td><td>String</td><td>Attribute for classifying multiple categories of products <em><mark style="color:green;">in df_items' sub-attributes</mark></em></td></tr><tr><td>df_items.[n].df_category4</td><td>Product Category 4</td><td>String</td><td><p>Attribute for classifying multiple categories of products <em><mark style="color:green;">in df_items' sub-attributes</mark></em></p><p><br></p></td></tr><tr><td>df_items.[n].df_category5</td><td>Product Category 5</td><td>String</td><td>Attribute for classifying multiple categories of products <em><mark style="color:green;">in df_items' sub-attributes</mark></em></td></tr></tbody></table>

### **Standard User Profile Properties**

<table><thead><tr><th width="169">Event/Property Name</th><th width="102">Notation Name</th><th width="123">Data Type</th><th>Explanation</th></tr></thead><tbody><tr><td>df_name</td><td>Name</td><td>String</td><td>The user's name. Usually the real name or a nickname given by the user is stored.</td></tr><tr><td>df_gender</td><td>Gender</td><td>String<br>(Enum)</td><td>It indicates the user's gender, and usually stores values ​​such as female, male, or other. Supported values: Male, Female, NonBinary, Other</td></tr><tr><td>df_birth</td><td>Birth date</td><td>Datetime</td><td>This refers to the user's date of birth, and is usually stored in YYYY-MM-DD format or a general date format.</td></tr><tr><td>df_membership</td><td>Membership Level</td><td>String</td><td>It is mainly determined based on the user's activity or purchase history, and various benefits can be provided depending on the member.</td></tr><tr><td>df_age</td><td>Age</td><td>Long</td><td>A value calculated using date of birth information, usually stored as an integer. ※ This attribute is calculated when the date of birth is first collected, and is automatically calculated every month thereafter.</td></tr><tr><td>df_age_group</td><td>Age group</td><td>String<br>(Enum)</td><td><p>This refers to information that groups the user's age by age group. </p><p>※ This attribute is calculated when the first date of birth is collected and is automatically calculated every month thereafter.</p><p>Supported values:</p><p>~12 </p><p>13~18 19~24 25~29 30~34 35~39 40~44 45~49 50~54 55~59 60~64 </p><p>65~</p></td></tr></tbody></table>

### **Standard User Identifier Attributes**

<table><thead><tr><th width="178">Event/Property Name</th><th width="119">Notation Name</th><th width="114">Data Type</th><th>Explanation</th></tr></thead><tbody><tr><td>df_unified_id</td><td>Unified ID</td><td>String</td><td>An identifier that uniquely identifies a user by integrating various personally identifiable information into a single ID.</td></tr><tr><td>df_external_id</td><td>External ID</td><td>String</td><td>A unique ID identifier that follows all external system formats. <strong>※ </strong><mark style="color:red;"><strong>For security purposes, please link a unique number that is used for internal management purposes.</strong> (Ex. Even if the external ID is dfinery123, data linking is required, such as 1230102301.)</mark></td></tr><tr><td>df_phone_no</td><td>Phone number</td><td>String</td><td>Phone number used as identifier</td></tr><tr><td>df_email</td><td>Email</td><td>String</td><td>Email used as identifier</td></tr><tr><td>df_kakao_user_id</td><td>Kakao ID</td><td>String</td><td>A unique identifier used in KakaoTalk Messenger and other Kakao services</td></tr><tr><td>df_line_user_id</td><td>Line ID</td><td>String</td><td>A unique identifier for users used in LINE Messenger or other LINE services</td></tr></tbody></table>

### **Channel Consent Attribute**

{% hint style="danger" %}
**(Must read) Marketing consent note**

* Sending is possible when null or true.
* If false, sending is not possible.
* *<mark style="color:red;background-color:yellow;">**Since a message can be sent if there is no consent value (null), the value (true or false) must be passed accurately to the definer.**</mark>*
* Please keep your marketing consent value updated via API.
* Please also pay attention to the marketing consent value when linking offline data.
* When linking, please be sure to refer to the relevant development documents.\ <mark style="color:blue;">**-**</mark>[ <mark style="color:blue;">Setting notification consent information (Android)</mark>](https://docs.dfinery.ai/developer-guide/platform/android/user-profile#consent)\ <mark style="color:blue;">**-**</mark> [<mark style="color:blue;">Setting notification consent information (iOS)</mark>](https://docs.dfinery.ai/developer-guide/platform/ios/user-profile#undefined-5)\ <mark style="color:blue;">**-**</mark> [<mark style="color:blue;">Setting notification consent information (Web)</mark>](https://docs.dfinery.ai/developer-guide/platform/web/user_profile#consent)
  {% endhint %}

<table><thead><tr><th width="154">Event/Property Name</th><th width="207">Notation Name</th><th width="114">Data Type</th><th>Explanation</th></tr></thead><tbody><tr><td>df_push_optin</td><td>Consent to receive push notifications</td><td>Boolean</td><td>Whether the user consents to receiving informational push notifications from applications or websites. <mark style="background-color:yellow;"><strong>Default: null</strong></mark></td></tr><tr><td>df_push_ads_optin</td><td>Consent to receive push notifications (advertisements)</td><td>Boolean</td><td>Whether the user consents to receiving promotional notifications via push messages from applications or websites. <mark style="background-color:yellow;"><strong>Default: null</strong></mark></td></tr><tr><td>df_sms_ads_optin</td><td>Consent to receive text messages (advertisements)</td><td>Boolean</td><td>Whether the user consents to receiving promotional notifications via SMS. <mark style="background-color:yellow;"><strong>Default: null</strong></mark></td></tr><tr><td>df_kakao_ads_optin</td><td>Agree to receive Kakao Friends Talk (Advertisement)</td><td>Boolean</td><td>Whether the user consents to receiving advertising notifications through Kakao messaging service. Only Kakao's 'Friend Talk' requires the advertising consent flag → Clearly specify the 'Friend Talk' channel. <mark style="background-color:yellow;"><strong>Default value: null</strong></mark></td></tr><tr><td>df_push_night_ads_optin</td><td>Consent to receive nightly push notifications (advertisements)</td><td>Boolean</td><td><p>Whether the user agrees to receive promotional notifications in the form of push messages at night (9 p.m. to 8 a.m. the next day).</p><p><mark style="background-color:yellow;"><strong>Default: null</strong></mark></p></td></tr></tbody></table>

## **Custom Event and Attribute Examples (by Field)**

{% tabs %}
{% tab title="Commerce" %}
**Recommended Events and Attribute Examples**

<table><thead><tr><th width="188">Event</th><th width="146">Notation Name</th><th width="221">Explanation</th><th>Sub-attributes</th></tr></thead><tbody><tr><td><em>get_coupon</em></td><td>Coupon issuance</td><td>User receives coupon</td><td>Coupon Amount</td></tr><tr><td></td><td></td><td></td><td>Coupon Discount Rate</td></tr><tr><td><em>remove_from_cart</em></td><td>Delete Cart</td><td>An action taken by a user to remove a specific product from the shopping cart.</td><td>Product Name</td></tr><tr><td></td><td></td><td></td><td>Product Price</td></tr><tr><td></td><td></td><td></td><td>Product Category</td></tr><tr><td></td><td></td><td></td><td>Product Brand</td></tr><tr><td></td><td></td><td></td><td>Product Color</td></tr></tbody></table>
{% endtab %}

{% tab title="Finance" %}
**Recommended Events and Attribute Examples**

<table><thead><tr><th width="188">Event</th><th width="146">Notation Name</th><th width="221">Explanation</th><th>Sub-attributes</th></tr></thead><tbody><tr><td><em>open_account</em></td><td>Open an account</td><td>User completes account creation</td><td>Account name</td></tr><tr><td></td><td></td><td></td><td>Branch name</td></tr><tr><td></td><td></td><td></td><td>Whether or not a card is issued</td></tr><tr><td>issue_card</td><td>Card issuance</td><td>User receives card</td><td>Card name</td></tr><tr><td></td><td></td><td></td><td>Manager</td></tr><tr><td></td><td></td><td></td><td>Branch name</td></tr><tr><td></td><td></td><td></td><td>Limit</td></tr></tbody></table>
{% endtab %}

{% tab title="F\&B" %}
**Recommended Events and Attribute Examples**

<table><thead><tr><th width="140">Event</th><th width="113">Notation name</th><th width="205">Explanation</th><th>Sub-attributes</th></tr></thead><tbody><tr><td><em>order</em></td><td>Order food</td><td>User visits store and orders food</td><td>Order Menu</td></tr><tr><td></td><td></td><td></td><td>Order Amount</td></tr><tr><td></td><td></td><td></td><td>Store location area</td></tr><tr><td></td><td></td><td></td><td>Store name</td></tr><tr><td><em>order_in</em></td><td>Delivery Order</td><td>User orders food delivery</td><td>Order Menu</td></tr><tr><td></td><td></td><td></td><td>Order Amount</td></tr><tr><td></td><td></td><td></td><td>Order Area</td></tr><tr><td></td><td></td><td></td><td>Coupon Amount</td></tr></tbody></table>
{% endtab %}

{% tab title="Health" %}
**Recommended Events and Attribute Examples**

<table><thead><tr><th width="149">Event</th><th width="181">Notation Name</th><th width="234">Explanation</th><th>Sub-attributes</th></tr></thead><tbody><tr><td><em>10000_steps</em></td><td>Completed 10,000 steps</td><td>User completed 10,000 steps</td><td>Time taken</td></tr><tr><td></td><td></td><td></td><td>Total steps</td></tr><tr><td><em>check_up</em></td><td>Health checkup</td><td>Users get health checkups and sync the results</td><td>Cautionary Items</td></tr><tr><td></td><td></td><td></td><td>Risk Items</td></tr><tr><td></td><td></td><td></td><td>Disease</td></tr><tr><td><em>self_report</em></td><td>Enter your own health information</td><td>Users enter their own health information</td><td>Key</td></tr><tr><td></td><td></td><td></td><td>Weight</td></tr></tbody></table>
{% endtab %}

{% tab title="Game" %}
**Recommended Events and Attribute Examples**

<table><thead><tr><th width="215">Event</th><th width="156">Notation Name</th><th width="163">Explanation </th><th>Sub-attributes</th></tr></thead><tbody><tr><td><em>tutorial_complete</em></td><td>Complete the tutorial</td><td>-</td><td>Acquisition Reward</td></tr><tr><td></td><td></td><td></td><td>Time taken</td></tr><tr><td><em>party_quest_complete</em></td><td>Party Quest Completed</td><td>-</td><td>Acquisition Reward</td></tr><tr><td></td><td></td><td></td><td>Time taken</td></tr><tr><td></td><td></td><td></td><td>Number of Church Monsters</td></tr><tr><td></td><td></td><td></td><td>Number of party members</td></tr><tr><td></td><td></td><td></td><td>Results Grade</td></tr></tbody></table>
{% endtab %}
{% endtabs %}
