Search documentation...

K
ChangelogBook a demoSign up

ChartMogul

Empower your product teams with richer data from your warehouse to perform deeper analysis on subscription revenue and better understand business performance.

Setup

To find your API keys, navigate to your profile and create a private API key.

Syncing

Hightouch supports syncing to the following ChartMogul Objects:

  • Customers
  • Invoices
  • Transactions

Sync modes

This integration supports Upsert, Update, and Insert modes for Customers objects and Insert mode for Invoices and Transactions objects.

  • Upsert: Upsert mode pushes new objects to ChartMogul and updates fields that change in your warehouse.
  • Update: Update mode updates particular fields on existing objects in ChartMogul.
  • Insert: Insert mode pushes new objects to ChartMogul, and doesn't update the objects as they change in your warehouse.

Record matching

Customers

In Upsert mode, records can be matched from your source to ChartMogul by External ID or Email.

In Update mode, records can be matched from your source to ChartMogul by External ID or ChartMogul's Customer UUID.

ChartMogul doesn't consider Email as a unique identifier, so upserting records will apply to all matching emails.

Field mapping

Customers

You can sync columns from your source to ChartMogul's default and custom attributes. When syncing with Upsert or Insert mode, Data Source UUID, Name, and External ID (depending on if External ID was selected in the Record Matching section) are required fields in order for the sync to run successfully. When syncing with Update mode, Name is a required field in order for the sync to run successfully. To know more about Customer fields, refer to the ChartMogul docs.

Additionally when syncing custom attributes with Upsert or Insert mode, Hightouch automatically transforms your data to match the required format that ChartMogul expects for the custom field. For example, say you want to enrich a customer profile by inserting age as a custom attribute, where the object is:

{
    "attributes": {
        "custom": {
          "age": 25,
        },
    }
}

Hightouch will automatically detect the type of the record value and transform the object for you to the expected custom field format:

{
    "attributes": {
        "custom": [
            {
              "type": Integer,
              "key": "age",
              "value": 25
            },
        ]
    }
}

Invoices

You can sync columns from your source to ChartMogul's default and custom attributes. Customer UUID, External ID, Date, Currency, Line Items, and Customer External ID are required fields in order for the sync to run successfully. To know more about Invoice fields, refer to the ChartMogul docs.

Transactions

You can sync columns from your source to ChartMogul's default and custom attributes. Invoice UUID, Date, Type, and Result are required fields in order for the sync to run successfully. To know more about Transaction fields, refer to the ChartMogul docs.

Delete mode

Customers

You can choose what Hightouch's behavior is when records leave the query result set. The default is doing nothing, but you can also set Hightouch to delete the Customer record.

ChartMogul doesn't allow custom attributes to be cleared, so Hightouch will sync "null" to the field instead.

Tips and troubleshooting

Common errors

If you encounter an error or question not listed below and need assistance, don't hesitate to . We're here to help.

write ECONNRESET

You may receive the write ECONNRESET error if the model columns used for record matching or mapping don't have an associated data type in Hightouch.

Model data types in the Hightouch UI

To resolve the error, ensure that each model column has the data type ChartMogul expects. Refer to the data types and casting docs for more information.

Live debugger

Hightouch provides complete visibility into the API calls made during each of your sync runs. We recommend reading our article on debugging tips and tricks to learn more.

Sync alerts

Hightouch can alert you of sync issues via Slack, PagerDuty, SMS, or email. For details, please visit our article on alerting.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Last updated: Jun 21, 2023

On this page

SetupSyncingSync modesRecord matchingCustomersField mappingCustomersInvoicesTransactionsDelete modeCustomersTips and troubleshootingCommon errorsLive debuggerSync alerts

Was this page helpful?