Unified Subscription Schema (USS)

This page provides a detailed description of the Unified Subscription Schema (USS) within the Daasity Data Model and defines each table and column in this schema

Overview

The purpose of the Unified Subscription Schema is to normalize and load data from various subscription platforms into a single set of tables. From USS, other scripts will push that data down into other tables that can be used for analyzing your subscription business.

Unified Subscription Schema Tables

Order Line Items

Purpose: Normalizes order-line-level data from multiple subscription platforms into a single table

Table Name: uss.order_line_items

Related transform code:

ColumnDescription

SUBSCRIPTION_ORDER_LINE_ID🔑

MD5 of platform identifier, order ID, and line ID

SOURCE_ORDER_LINE_ID

Line ID from the source

SUBSCRIPTION_ORDER_ID

MD5 of the platform identifier and order ID

SUBSCRIPTION_ID

MD5 of the platform identifier and subscription ID

CUSTOMER_ID

MD5 of the platform identifier and customer ID

SOURCE_PRODUCT_ID

Product ID from the source

PRODUCT_TITLE

Product title from the source

SOURCE_VARIANT_ID

Variant ID from the source

VARIANT_TITLE

Variant title from the source

SKU

SKU value from the source

UNIT_PRICE

Unit price from the source. May be a calculation, depending on source

QUANTITY

Quantity ordered from the source

IS_ONETIME

Flag indicating if the product is a recurring product purchase or a one-time add-on

CUSTOM_ATTRIBUTES

Custom attributes from the source system

PLATFORM

Identifier for the source platform

__LOADED_AT

UTC timestamp of when this data was transformed from the source table into this table

__SYNCED_AT

UTC timestamp of when this data was loaded from the external source into the database

Orders

Purpose: Normalizes order metadata from multiple subscription platforms into a single table

Table Name: uss.orders

Related transform code:

ColumnDescription

SUBSCRIPTION_ORDER_ID🔑

MD5 of the platform identifier and order ID

SOURCE_ORDER_ID

Order ID from the source

SUBSCRIPTION_ID

MD5 of the platform identifier and subscription ID

CREATED_AT

Timestamp of when the order was created. This is converted into the Daasity account timezone

UPDATED_AT

Timestamp of when the order was last updated. This is converted into the Daasity account timezone

CUSTOMER_ID

MD5 of the platform identifier and customer ID

CHARGE_STATUS

Status of the charge for this order

CURRENCY

Currency code from the source system

STATUS

Status from the source system

TYPE

Indicates whether the order is recurring or placed on the site

TAGS

Order tags

TOTAL_PRICE

Total price of the order

TOTAL_DISCOUNTS

Total discount amount for the order

TOTAL_SHIPPING_PRICE

Total shipping amount for the order

TOTAL_TAX

Total tax amount for the order

ADDRESS_CITY

Billing/delivery address city

ADDRESS_COUNTRY

Billing/delivery address country

ADDRESS_COUNTRY_CODE

Billing/delivery address country code

ADDRESS_FIRST_NAME

Billing/delivery address first name

ADDRESS_LAST_NAME

Billing/delivery address last name

ADDRESS_LINE_1

Billing/delivery address line 1

ADDRESS_LINE_2

Billing/delivery address line 2

ADDRESS_PROVINCE_CODE

Billing/delivery address province code

ADDRESS_ZIP

Billing/delivery address ZIP code

PLATFORM

Identifier for the source platform

__LOADED_AT

UTC timestamp of when this data was transformed from the source table into this table

__SYNCED_AT

UTC timestamp of when this data was loaded from the external source into the database

Subscription Lines

Purpose: Normalizes subscription-line-level data from multiple subscription platforms into a single table

Table Name: uss.subscription_lines

Related transform code:

ColumnDescription

SUBSCRIPTION_LINE_ID🔑

MD5 of the platform identifier and the source subscription line ID

SOURCE_SUBSCRIPTION_LINE_ID

Subscription line ID from the source system

SUBSCRIPTION_ID

MD5 of the platform identifier and the source subscription ID

CUSTOMER_ID

MD5 of the platform identifier and the source customer ID

IS_PREPAID

Indicates whether the subscription line is prepaid

SOURCE_PRODUCT_ID

Product ID from the source system

PRODUCT_TITLE

Product title from the source system

QUANTITY

Quantity for the subscription line

SKU

SKU from the source system

UNIT_PRICE

Unit price for the subscription line

SUBTOTAL_PRICE

Subtotal for the subscription line

SOURCE_VARIANT_ID

Variant ID from the source system

VARIANT_TITLE

Variant title from the source system

PLATFORM

Identifier for the source platform

__LOADED_AT

UTC timestamp of when this data was transformed from the source table into this table

__SYNCED_AT

UTC timestamp of when this data was loaded from the external source into the database

Subscriptions

Purpose: Normalizes subscription metadata from multiple subscription platforms into a single table

Table Name: uss.subscriptions

Related transform code:

ColumnDescription

SUBSCRIPTION_ID🔑

MD5 of the platform identifier and the source subscription ID

SOURCE_SUBSCRIPTION_ID

Subscription ID from the source system

CREATED_AT

Timestamp of when the subscription was created. This is converted into your Daasity account timezone

UPDATED_AT

Timestamp of when the subscription was last updated. This is converted into your Daasity account timezone

PAUSED_AT

Timestamp of when the subscription was paused. This is converted into your Daasity account timezone

PAUSED_UNTIL

Timestamp of when the subscription is paused until. This is converted into your Daasity account timezone

CHURNED_AT

Timestamp of when the subscription was cancelled. This is converted into your Daasity account timezone

CANCELLED_AT

Timestamp of when the subscription was cancelled. This is converted into your Daasity account timezone

CANCELLATION_REASON

Reason from the source system of why the subscription was cancelled

CANCELLATION_REASON_COMMENTS

Additional information from the source system of why the subscription was cancelled

CUSTOMER_ID

MD5 of the platform identifier and the customer ID from the source system

SOURCE_CUSTOMER_ID

Customer ID from the source system

EMAIL_ADDRESS

Email address of the subscriber

FIRST_NAME

First name of the subscriber

LAST_NAME

Last name of the subscriber

DELIVERY_ADDRESS_LINE_1

Delivery address line 1 from the source system

DELIVERY_ADDRESS_LINE_2

Delivery address line 2 from the source system

DELIVERY_ADDRESS_ID

Address ID from the source system

DELIVERY_ADDRESS_CITY

Delivery address city from the source system

DELIVERY_ADDRESS_COMPANY

Delivery address company from the source system

DELIVERY_ADDRESS_COUNTRY_CODE

Delivery address country code from the source system

DELIVERY_ADDRESS_PHONE

Delivery phone number from the source system

DELIVERY_ADDRESS_PROVINCE

Delivery address province from the source system

DELIVERY_ADDRESS_ZIP

Delivery address ZIP Code from the source system

DELIVERY_PRICE

Cost to the consumer for delivering the order

DUNNING_STARTED_AT

Timestamp of when the subscription entered dunning. This is converted into your Daasity account timezone

DUNNING_STORY_ID

Dunning story ID from the source system

DUNNING_EXITED_AT

Timestamp of when the subscription exited dunning. This is converted into your Daasity account timezone

LAST_CHARGE_DATE

Timestamp of when the last charge was made related to the subscription. This is converted into your Daasity account timezone

NEXT_CHARGE_DATE

Timestamp of when the next charge will be made for this subscription. This is converted into your Daasity account timezone

IS_SKIPPABLE

Indicates whether the subscription can be skipped

IS_SWAPPABLE

Indicates whether products in the subscription can be swapped out

CURRENCY

Currency for the dollar values for this order

PRICE

Price of the subscription

NOTE

Note for the subscription

ORDER_DAY_OF_MONTH

Scheduled day of the month for this order

ORDER_DAY_OF_WEEK

Scheduled day of the week for this order

ORDER_INTERVAL_FREQUENCY

How often the subscription is fulfilled

ORDER_INTERVAL_UNIT

How often the subscription is fulfilled

STATUS

Indicates whether the subscription is cancelled, paused, or active

STATUS_CONTEXT

Additional context for the status

PLATFORM

Identifier for the source platform

__LOADED_AT

UTC timestamp of when this data was transformed from the source table into this table

__SYNCED_AT

UTC timestamp of when this data was loaded from the external source into the database

Last updated