Analytics

Table of Contents

Global GTM tag

The following tags should exist on every page, except Admin pages. No need to customize based on environment (e.g. Test, Prod). Same tag is to be shown.

refid is a variable which indicates:

<script> window.dataLayer = window.dataLayer || []; </script> <script> dataLayer.push({event: "userData", refid: "uniqueone"}) </script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KZHJFJH');</script> <!-- End Google Tag Manager -->

Body

Immediately after <body> tag.

<!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KZHJFJH" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) -->

Page titles

Page views are triggered by change in url, therefore every page needs to have a unique url. URLs in red need to be updated, as they are duplicates now.

URL

Spec reference

Page Title

URL

Spec reference

Page Title

/ (unauthenticated)

https://fioprotocol.atlassian.net/wiki/spaces/DAO/pages/83886086/Dash+Functional+Specification#Home-Page

FIO App - Home

/myfio

https://fioprotocol.atlassian.net/wiki/spaces/DAO/pages/83886086/Dash+Functional+Specification#Home-Page

FIO App - My FIO

/create-account

FIO App - Create Account

/create-account-pin

FIO App - Create Account Pin

/create-account-confirm

FIO App - Create Account Confirm

/create-account-confirmation

FIO App - Create Account Confirmation

/create-account-secret-questions

FIO App - Create Account Secret Questions

/create-account-secret-questions-skip

FIO App - Create Account Secret Questions Skip

/create-account-secret-answers

FIO App - Create Account Secret Answers

/email-confirm-gate

FIO App - Confirm email

/signin

FIO App - Sign in

/fio-crypto-handles-selection

FIO App - Crypto Handle Registration

/fio-domains-selection

FIO App - Domain Registration

/cart

FIO App - Shopping Cart

/checkout

FIO App - Checkout

/purchase

FIO App - Purchase Confirmation

/tokens

FIO Apps - Wallets

/import

FIO App - Import FIO Wallet

/fio-wallet

FIO App - Wallet Transactions

/fio-wallet-details

FIO App - Wallet Details

/stake

FIO App - Stake FIO Tokens

/unstake

FIO App - Unstake FIO Tokens

/send

FIO App - Send FIO Tokens

/send-confirmation

FIO App - Send FIO Tokens Confirmation

/new-request

FIO App - FIO Request

/new-request-confirmation

FIO App - FIO Request Confirmation

/reject-fio-request

FIO App - Reject FIO Request

/reject-fio-request-confirmation

FIO App - Reject FIO Request Confirmation

/payment-details

FIO App - Send FIO Data

/payment-details-confirmation

FIO App - Send FIO Data Confirmation

/fio-domains

FIO App - Domains

/fio-domain-settings

FIO App - Domain Settings

/fio-domain-renew

Domain renewal

FIO App - Renew Domain

/fio-domain-renew-confirmation

Domain renewal confirmation

FIO App - Renew Domain Confirmation

/fio-domain-status-change

FIO App - Domain Status Change

/fio-domain-status-change-confirmation

FIO App - Domain Status Change Confirmation

/fio-domain-ownership

FIO App - Domain Ownership Transfer

/fio-domain-ownership-confirmation

FIO App - Domain Ownership Transfer Confirmation

/fio-crypto-handles

FIO App - Crypto Handles

/fio-crypto-handle-settings

FIO App - Crypto Handle Settings

/add-bundles

Add bundles

FIO App - Add Bundles

/add-bundles-confirmation

Add bundles confirmation

FIO App - Add Bundles Confirmation

/fio-crypto-handle-ownership

FIO App - Crypto Handle Ownership Transfer

/fio-crypto-handle-ownership-confirmation

FIO App - Crypto Handle Ownership Transfer Confirmation

/nft-signatures

FIO App - NFT Signatures

/sign-nft

FIO App - Sign NFT

/sign-nft-confirmation

FIO App - Sign NFT Confirmation

/link-token-list

FIO App - Linked Token List

/add-token

FIO App - Link Token

/add-token-confirmation

FIO App - Link Token Confirmation

/fio-domain

FIO App - Domain

/orders

FIO App - Orders

/order-details

FIO App - Order Details

/order-invoice

FIO App - Order Invoice

/settings

FIO App - Settings

/ref/partnername

FIO App - partnername

/wrap-tokens

FIO App - Wrap FIO Tokens

/wrap-tokens-confirmation

FIO App - Wrap FIO Tokens Confirmation

/unwrap-tokens

FIO App - Unwrap FIO Tokens

/unwrap-tokens-confirmation

FIO App - Unwrap FIO Tokens Confirmation

/wrap-domain

FIO App - Wrap FIO Domain

/wrap-domain-confirmation

FIO App - Wrap FIO Domain Confirmation

/unwrap

FIO App - Unwrap

/unwrap-domain

FIO App - Unwrap FIO Domain

/unwrap-domain-confirmation

FIO App - Unwrap FIO Domain Confirmation

/privacy-policy

FIO App - Privacy Policy

/terms-of-service

FIO App - Terms of Service

/reset-password

FIO App - Reset Password

/404

FIO App - Not Found

/cookie-notice

FIO App - Cookie Notice

/error

 

FIO App - Error

/nft-validation

 

FIO App - Validate NFT Signature

/affiliate-program

FIO App - Affiliate Program

/affiliate-program-enabled

FIO App - Affiliate Program Enabled

/fio-crypto-handles-custom

FIO App - Crypto Handle Registration on Custom Domain

/unavailable

FIO App - Unavailable

/twitter-handle

Your Twitter Handle Can Now Receive Crypto

/

Using fio.id domain

FIO Handle Look-up

/example@domain

Using fio.id domain

FIO Handle - example@domain

/metamask

FIO App - MetaMask

Events

When fires

Event name

Parameters

When fires

Event name

Parameters

User creates account

sign_up

 

User logs in

login

method

  • password - when user logs in with password

  • pin - when user logs in with PIN

  • external - when user logs in via Metamask or Opera

User searches for FCH or Domain or both

search

 

User adds item to cart

add_to_cart

currency = “USD”

value = cost of all items being added

items = Array of items

item_name =

  • “domain”

  • “fch”

  • “combo” (if search was for FCH on custom domain)

  • “free_fch” (if FCH is free)

  • domain_renewal

  • add_bundles

price = price of item (set to 0 for free FCH)

Append: “_clear: true” to items array

Spec reference

User removes item from cart

remove_from_cart

Same as Add item to cart

User clicks Checkout Now (or Complete Transaction) or Cart icon in main navigation

begin_checkout

Same as Add item to cart

Price updated in cart

price_change

 

User clicks Purchase Now or Pay on checkout page

purchase_started

Same as Add item to cart

Shopping cart is purchased

purchase

Same as Add item to cart plus:

payment_type - purchase type: “free”, “fio”, “stripe”

Partial purchase error

purchase_partial

 

Complete purchase error

purchase_error

 

Cart is emptied due to inactivity

cart_emptied

 

User creates new FIO wallet

wallet_create

wallet_create_type - “ledger” (wallet is ledger hardware wallet), “standard” (all other wallets)

User stakes FIO tokens

token_stake

token_stake_amount - Amount of FIO Tokens staked

User unstakes FIO tokens

token_unstake

token_unstake_amount - Amount of FIO Tokens unstaked

User sends FIO Tokens

token_send

token_send_amount - Amount of FIO Tokens sent

token_send_type - Type of send: “fch” (send to FCH), “pubadd” (sent to public address)

User sends new FIO Request

fio_request_new

 

User sends FIO Data

fio_data_new

 

User rejects FIO Request

fio_request_reject

 

Users flips domain status

fio_domain_status

 

Users transfers domain ownership

fio_domain_transfer

 

Users transfers FCH ownership

fch_transfer

 

User signs NFT

fch_sign_nft

 

Users links token to FCH

fch_link_token

 

User enables 2FA

sec_2fa

 

User sets up recovery

sec_recovery

 

User encounters chain error on any transaction, except purchase

chain_error

 

User validates NFT on https://dashboard.fioprotocol.io/nft-validation

nft_validate

 

User wraps tokens

wrap_token

 

User wraps domain

wrap_domain

 

User unwraps tokens

unwrap_token

 

User unwraps domain

unwrap_domain

 

User enables affiliate program

affiliate_enabled

 

SendInBlue Analytics

High-level Requirements

Anytime the above event occurs and the user is known (logged in) and has opted in to receiving marketing emails, the server needs to send an event notification to SendInBlue:

  • If initial opt-in flag (set by user during registration) is not stored on the server, send the request for every user, but expect 404 error to be returned if user has not opted in and is not in SendInBlue db.

  • There is a way to also send events via js: https://developers.sendinblue.com/docs/gettings-started-with-sendinblue-tracker , but I believe the API method better matches what was already developed for Mailchimp

API Spec

Server and credentials

See

Request

Variable

Type

Value

Variable

Type

Value

email

 

User’s email address

event

Body

Event name as above

Body Example

{ "email":"bob@gmail.com", "event":"sign_up" }

Response

Ignore response