# Custom Events

Custom Events memungkinkan kamu membuat event tracking khusus yang bisa dipakai untuk analisis, dan dikirim melalui API.&#x20;

1. **Custom Events Table**
   * Menampilkan semua custom event yang sudah pernah kamu buat.
   * Setiap event akan tampil dengan informasi berikut:
     * **Event Label** → Nama tampilan event.
     * **Event Key** → Identifier unik yang digunakan untuk API.
     * **Description** → Penjelasan singkat tentang event.
     * **Total Property** → Jumlah property yang dimiliki event tersebut.
   * Pada kolom **Action**, kamu dapat:
     * **Edit event** untuk memperbarui label, key, atau properties.
     * **Delete event** untuk menghapus event sepenuhnya.
   * Jika event memiliki property, kamu bisa expand untuk melihat daftar property yang tersimpan.
2. **Create Custom Event**
   * Klik tombol **Create custom events** untuk membuat event baru.
   * Pada bagian awal form, kamu perlu mengisi:
     * **Event Label** → Nama yang akan muncul di dashboard atau analytics.
     * **Event Key** → Identifier unik menggunakan huruf kecil dan underscore saja (contoh: `order_completed`).
     * **Description** (opsional) → Penjelasan singkat tentang fungsi event.
   * Event Key harus unik untuk menghindari konflik dengan event lain atau default events.
3. **Custom Event Properties**
   * Setiap custom event dapat memiliki hingga **maksimal 10 properties**.
   * Property digunakan untuk mengirim data tambahan ketika event ditembak via API.
   * Pada setiap property, kamu perlu mengisi:
     * **Property Label** → Nama tampilan (contoh: *Order Value*, *User Type*).
     * **Property Key** → Identifier unik (lowercase + underscore, contoh: `order_value`).
     * **Property Type** → Pilih tipe data sesuai kebutuhan:
       * String
       * Number
       * Timestamp
       * Date
       * Boolean
     * **Description** → Penjelasan opsional tentang fungsi property.
   * Klik **Add custom property** untuk menambahkan property baru (maksimal 10).
   * Urutan properties tidak mempengaruhi fungsi event, namun sebaiknya ditulis berurutan agar mudah dibaca.
4. **Firing Custom Events via API**
   * Custom event dapat dikirim (fired) melalui API menggunakan event key dan properties yang kamu definisikan.
   * Pastikan event key pada payload API sama persis dengan Event Key yang kamu buat.
   * Semua properties yang dikirim via API harus sesuai dengan:
     * Property Key
     * Property Type
