---
schema_version: "1"
id: 83c955be2294d75f74577a94455cb3401b3908c5e802ef32437d9cce2711dae1
title: Billing Considerations for Data Transforms
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/data/264-0-0/c360_a_billing_considerations_for_data_transforms.md
canonical_url: https://help.salesforce.com/s/articleView?id=data.c360_a_billing_considerations_for_data_transforms.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 00954adb9761d1785322aed54c43e15258df03a0854401eaf3e61d3fe1e92967
description: Data Transforms use Data 360 to cleanse, enrich, and reshape data from DLOs and DMOs to prepare it for insights, segmentation, and AI features. Use of Data Transforms impacts the consumption of credits in these usage types.
products:
  - Data 360
release: "264"
---
# Billing Considerations for Data Transforms

Data Transforms use Data 360 to cleanse, enrich, and reshape data from DLOs and DMOs to prepare it for insights, segmentation, and AI features. Use of Data Transforms impacts the consumption of credits in these usage types.

Use Digital Wallet to check which consumption cards are active in your org, find out how many credits are available on each card, and determine how many credits have been consumed in each usage type.

![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-data-data_cloud-264-0-0-production-enus/f3569962-3c9b-4f83-9d0c-b6a574e785da/images/icon_tip.png)

Tip

This feature has access to Digital Wallet, a free account management tool that offers near real-time consumption data for enabled products across your active contracts. Access Digital Wallet and start tracking your org's usage. To learn more, see [About Digital Wallet](https://help.salesforce.com/s/articleView?id=xcloud.wallet_about.htm&language=en_US&type=5).

Some usage types aren't metered for certain licenses or editions, such as a Data 360 Profiles license or Agentforce 1 Edition. Check your licenses and review license documentation for more information.

## Data 360 Usage

When you use Data 360 for data collection and processing, your org consumes credits from either the Data Services consumption card or the Flex Credits consumption card.

- If your contract included Data Service Credits, those are consumed for all Data 360 usage.
- If you run out of Data Service Credits, your org is billed at your Data Service Credit overage rate for the remainder of your term unless more credits are added.
- If you have Flex Credits for Data 360, those credits are consumed instead.

Data Services and Flex Credits organize data services within different usage type groupings. For more information, see [Data Services Billable Usage Types for Data 360](https://help.salesforce.com/s/articleView?id=data.c360_a_data_usage_types.htm&type=5&language=en_US) and [Flex Credits Usage Types for Data 360](https://help.salesforce.com/s/articleView?id=data.c360_a_flex_credits_for_data360.htm&type=5&language=en_US). To check multipliers for each usage type, see the [Multipliers for Data Services Rate Card](https://www.salesforce.com/data/rates/multipliers/) or the [Agentforce & Data 360 Flex Credits Rate Card](https://www.salesforce.com/agentforce/rates/). The cost of each credit is determined by your contract.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:16.666666666666664%">
          <col style="width:16.666666666666664%">
          <col style="width:33.33333333333333%">
          <col style="width:33.33333333333333%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d149003e95">Digital Wallet Card</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d149003e98">Usage Type</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d149003e101">Usage Type Description</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d149003e104">Notes</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Digital Wallet Card" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e95 "><span>Data Services</span></td>

            <td data-label="Usage Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e98 ">Data Queries</td>

            <td data-label="Usage Type Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e101 ">
              <p>Usage is calculated based on the number of records
                processed. </p>
              <p style="margin-bottom:0;">The count of records processed depends on the structure of a query as well as
                other related factors such as the total number of records in the objects being
                queried.</p>
            </td>

            <td data-label="Notes" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e104 ">Data transforms fetch data to populate data previews using data queries.</td>

          </tr>
          <tr class="">
            <td data-label="Digital Wallet Card" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e95 "><span>Data Services</span></td>

            <td data-label="Usage Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e98 ">Batch Data Transforms</td>

            <td data-label="Usage Type Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e101 ">
              <p>Usage is calculated based on the higher of the
                number of rows read or number of rows written.</p>
              <p style="margin-bottom:0;">For incremental batch data transforms,
                after the first time a transform runs, usage is based on the number of rows that have
                changed since the previous run.</p>
            </td>

            <td data-label="Notes" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e104 ">Batch transforms are counted in this category.</td>

          </tr>
          <tr class="">
            <td data-label="Digital Wallet Card" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e95 "><span>Data Services</span></td>

            <td data-label="Usage Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e98 ">Streaming Data Transforms</td>

            <td data-label="Usage Type Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e101 ">
              <p>Usage is calculated based on the higher of
                the number of rows read or the number of rows written. </p>
              <p style="margin-bottom:0;">When performing joins, the number
                of rows read is calculated by multiplying the number of records from the streaming input
                object by the number of joined objects.</p>
            </td>

            <td data-label="Notes" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e104 ">Streaming transforms are counted in this category.</td>

          </tr>
          <tr class="">
            <td data-label="Digital Wallet Card" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e95 "><span>Flex Credits</span></td>

            <td data-label="Usage Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e98 ">Data 360 Queries</td>

            <td data-label="Usage Type Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e101 ">
              <p>Usage is calculated based on the number of records processed. </p>
              <p>The count of records processed depends on the structure of a query as well as other
                related factors such as the total number of records in the objects being queried.</p>
              <p style="margin-bottom:0;">When an object is queried in the context of a data space, the number of rows processed is
                based on the total number of processed rows in the source object, not the number of rows
                pertaining to the particular data space</p>
            </td>

            <td data-label="Notes" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e104 ">When an object is queried in the context of a data space, the number of rows
              processed is based on the total number of processed rows in the source object, not
              the number of rows pertaining to the particular data space. Data transforms fetch
              data to populate data previews using data queries.</td>

          </tr>
          <tr class="">
            <td data-label="Digital Wallet Card" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e95 "><span>Flex Credits</span></td>

            <td data-label="Usage Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e98 ">Data 360 Prep</td>

            <td data-label="Usage Type Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e101 ">
              <p>Usage is calculated based on the data object type.</p>
              <p>For local data lake objects and data model objects, the number of rows used for billing
                calculations is limited to the number of rows in the object. </p>
              <p>For external data lake objects, the actual count of rows read or written is used. This
                number can exceed the number of rows in the object if an object’s rows are read multiple
                times in a single transform run.</p>
              <p>For incremental batch transforms, after the first time a transform runs, usage is
                calculated based on the number of rows that changed since the previous run.</p>
              <p style="margin-bottom:0;">For batch calculated insights, usage is calculated based on the number of records in all
                underlying objects used in creating the Calculated Insight each time it runs.</p>
            </td>

            <td data-label="Notes" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e104 ">Batch transforms are counted in this category.</td>

          </tr>
          <tr class="">
            <td data-label="Digital Wallet Card" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e95 "><span>Flex Credits</span></td>

            <td data-label="Usage Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e98 ">Data 360 Streaming Pipeline</td>

            <td data-label="Usage Type Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e101 ">
              <p>Usage is calculated based on the data object type.</p>
              <p>For streaming data ingestion, usage is calculated based on the number of rows of
                streaming data processed by Data 360 across all data streams with stream processing, with
                the exception of structured data that is ingested via the Internal Data Pipeline. </p>
              <p>Data streams that report usage with this usage type are streams created by Website and
                Mobile App Connector, and the ingestion API when used in streaming mode. Bulk mode of
                ingestion API is not included.</p>
              <p>For streaming data transforms, usage is calculated based on the higher of the number of
                rows read or the number of rows written. </p>
              <p>When performing joins, the number of rows read is calculated by multiplying the number of
                records from the streaming input object by the number of joined objects.</p>
              <p>For streaming calculated insights, usage is calculated based on the number of records
                processed.</p>
              <p>For streaming data actions, usage is calculated based on the number of records processed
                in the DMO. Records processed are based on the number of new records created or updated in
                the DMO per activation.</p>
              <p style="margin-bottom:0;">If a data graph is being used with the activation, the number of records processed will
                be doubled in the final calculation. For example, when a data graph is being used with the
                activation, if there is 1 new record change in the DMO, this will count as 2 records
                processed.</p>
            </td>

            <td data-label="Notes" class="slds-cell-wrap" style="vertical-align:top;" headers="d149003e104 ">Streaming transforms are counted in this category. If a data graph is being
              used with the activation, the number of records processed will be doubled in the
              final calculation. For example, when a data graph is being used with the activation,
              if there is 1 new record change in the DMO, this will count as 2 records
              processed.</td>

          </tr>
        </tbody>
      </table>

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-data-data_cloud-264-0-0-production-enus/f3569962-3c9b-4f83-9d0c-b6a574e785da/images/icon_note.png)

Note If your Data 360 home org has an active Data 360 Profiles or Data 360 Enterprise Profiles license, some credit consumption for this feature is supplanted by Data 360 Profile billing methods and limits. See Data 360 Profiles License Billing and Limits for more details.

For more information on how usage is billed, refer to your contract or contact your account executive.

## Reduce Data Transform Costs

- **[Use Incremental Mode](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_run_types.htm&release=264.0.0&type=5 "A batch data transform runs in either incremental or full mode. During an incremental run, the transform applies only to input data that has been added, updated, or deleted. These changes can occur through a data stream or from the target of another batch data transform that runs incrementally. A full run processes both new and existing data. You can’t configure the run type. The batch data transform selects the run type based on specific criteria."):** Process fewer records by running the transform in incremental mode.
- **[Reduce Run Frequency](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_schedule.htm&release=264.0.0&type=5 "To ensure that the most up-to-date data is available by a particular time or to run a job during non-business hours, schedule a batch data transform."):** Reduce credit consumption by opting to run the transform less frequently.
- **[Limit Scheduled Days](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_schedule.htm&release=264.0.0&type=5 "To ensure that the most up-to-date data is available by a particular time or to run a job during non-business hours, schedule a batch data transform."):** Schedule the transform only on days it's needed to avoid unnecessary credit usage.

## Understand Data Transforms Credit Consumption

- **Batch and Streaming Rates Vary:** Batch Data Transforms consume fewer credits per 1M rows than Streaming Data Transforms. Batch is more economical for non-real-time needs.
- **Credits Follow the Largest Volume:** When a transform runs, it reads rows as input and writes rows as output. Salesforce charges you based on whichever number is bigger—not both combined. When a transform fails, no credits are consumed.
- **First Daily Run Is Always a Full Refresh:** Even in incremental mode, the first daily run processes all rows to prevent data drift, which can cause unexpectedly high consumption. Subsequent runs that day will be incremental.