---
schema_version: "1"
id: d4c5ae75f7e810ac5e75e076b08ac86162f4364cb5fe02f6bcd5a0b59b796799
title: Behavioral Data Integration Best Practices
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud/guides/mc-apis/behavioral_data_integration_best_practices.md
canonical_url: https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/behavioral_data_integration_best_practices.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 95f286182e3eee89496a3b40f23267ad8e5fcca953b90c0ff7c4894525213876
products:
  - Marketing Cloud Engagement APIs and Programmatic Languages
  - Marketing Cloud
---
# Behavioral Data Integration Best Practices

You can use data extracts or a SOAP API data retrieve call to extract behavioral data from Marketing Cloud Engagement and load it into an external system.

## Prerequisite

Your account must be enabled to use SOAP API.

## Scenario

Jen uses a tracking send summary to retrieve information regarding her triggered send results. While this solution worked for a smaller implementation, Jen has expanded the integration between her internal system and Marketing Cloud Engagement. Now, she notices that it takes longer for her API calls to retrieve the desired results. She also notices that the retrieval process requires more calls beyond the initial request. She decides to implement a data extract procedure on a set schedule.

## Data Extracts

Use data extracts to retrieve tracking information from Marketing Cloud Engagement. The extracted data takes the form of a compressed file that can be uploaded to your Marketing Cloud Engagement FTP site or an external location. You can choose which events are contained in the data extract. The compressed file contains delimited files and can be encrypted. You can automate data extracts or create and trigger the process using SOAP API. Common data extract recurrence options include daily or hourly, depending on the volume of data being extracted and your use case. Marketing Cloud Engagement can perform incremental data extracts, allowing you to retrieve only that data that has been created since the previous data extract.

We recommend that you use data extracts in these situations.

- When you send more than 1,000,000 emails per hour.
- When data can be extracted on regular intervals, such as hourly or daily.
- When your use case requires the data files to be encrypted.

## SOAP Retrieve Calls

Use SOAP Retrieve calls to retrieve data directly to an application without using data extract files and FTP sites. Retrieves can only be performed as a synchronous operation, as no asynchronous retrieve option is available. Retrieve calls can also use incremental settings, meaning that the call returns only data created after the previous call. Depending on your language and development environment, you can use SOAP response compression for these calls. However, you must create a call for each event type, and each call returns a maximum of 2,500 results per call. You must make multiple retrieve requests until all data has been retrieved. The API typically produces a response in around 1 second.

We recommend that you use SOAP API Retrieve calls in these situations.

- When you send fewer than 1,000,000 emails per hour.
- When you require the most recent data, as opposed to periodic batches of data.
- When your use case doesn’t require the data files to be encrypted.

## See Also

- [Retrieve a Triggered Send Summary](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/retrieving_a_triggered_send_summary.md)
- _Salesforce Help_: [Data Extracts](https://help.salesforce.com/s/articleView?id=mktg.mc_as_use_a_data_extract_activity.htm)
- [Create a Data Extract Activity](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/creating_a_data_extract_activity_with_the_soap_web_service_api.md)
- [Retrieve SentEvent Details for a Job](https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/retrieve_sentevent_details_for_job.md)
