Acquia CDP

FAQs and troubleshooting

This page provides frequently asked questions and troubleshooting information for common issues related to Customer Data Platform (CDP).

Abandoned cart


  • I added a product to my cart X weeks ago but did not buy it. Why does it appear in my current cart?
  • I added something to my cart and did not buy it. Why cannot I see it in the abandoned cart email?


The abandoned cart model includes all the products added to a customer’s cart after the most recent transaction.


Abandoned cart campaigns are built using the following criteria:

“INCLUDE (Abandoned a cart <in the timeframe you need>); EXCLUDE (Placed a transaction <in the same timeframe> OR Performed an event <checkout> <in the same timeframe>)”.

You can use these criteria to avoid missing use cases where a master customer has N child contacts and abandoned a product in one child contact. However, another child contact bought it later, either online or offline.

Self-service credentials management

I need a public IP address for data transmission

Verify that you are using a valid public IP address for CDP.

Test connection for S3 or SFTP external failed

This issue occurs due to the following reasons:

  • Credentials are incorrect.
  • External service is down or unreachable (S3 or SFTP).


  • Verify the following details and update the credentials accordingly:
    • S3: Bucket Name, Access Key, and Secret Key
    • SFTP: Host, Port, and Username/Password or SSH Key
  • Ensure that the SFTP server is operational and reachable. You can verify the S3 status in AWS Status.

Connector is invisible in destination on the Actions tab

This issue occurs if the connector is not published.


  • Publish the connector. You can verify the status of the connector on the Input Connectors page. If the status is Unpublished, click the corresponding connector and publish it.

Instance is unavailable in the instances list while adding a new integration

This issue occurs when the instance is already attached to another integration.


  • Create a new instance of the same type or use an existing instance of the same type in the Ready to Use state. You can verify the status of the instance on the instances list page. The In Progress status indicates that the instance is already attached to an integration.

Unable to save or publish the connector

This issue occurs when the backend service is down.


Unable to create an instance

This issue occurs due to the following reasons:

  • The number of instances exceeded the maximum limit.
  • Provisioning is disabled.


Could not create a new instance (User role not found with the name A360)

This issue occurs when the A360 role name is not present.


Invalid token identifier

This issue occurs when the bearer token expires.


  • Generate a new bearer token by using the credentials and use it with host API.

Request is malformed or incomplete

This issue occurs when the URL has a missing search term.


  • Append ?searchTerm= in the host API URL.

Could not create a new instance (User role not found with the name Tracker)

This issue occurs when the Tracker role name is not present.


Incorrect payload format

This issue occurs when incorrect or incomplete payload data is sent to the Tracker API.


  • Send the payload data with the correct format and all the mandatory fields. For example,

    "transactionitems": [],
    "transactions": [],
    "customers": [],
    "events": []

Received an UnknownHostException when attempting to interact with a service

This issue occurs when you use invalid AWS credentials for provisioning.


  • Check with your AM to verify and update the correct AWS credentials in Ansible for the respective environment.

Unable to create the instance and its status is “Failed”

This issue occurs due to the following reasons:

  • The SFTP server cannot be reached. This might be due to temporary issues, such as network problems or server restart.
  • Credentials might have changed but the application does not have access to the latest credentials.


  • Use the Retry Provision button after some time. If the issue persists, check the logs.
  • For credential-related issues, redeploy the service with correct credentials.

Unable to access the instance using correct credentials

This issue occurs due to the following reasons:

  • Lack of whitelisted IP: If you get a timeout issue.
  • invalid credentials: You did not copy the credentials correctly or pasted it in an editor that altered their characters.


  • To whitelist an IP, you must evaluate the IP range in your network that must be allowed to contact the SFTP server. After knowing the exact range of IPs, you can whitelist them by using the Allow-List Source IP Addresses option. This allows copy-separated values of individual IPs and Subnet-Masked IPs. After you specify these and save the information, you can retry after getting a successful response.
  • To avoid partial copying of values, you can use the Copy button in the CDP user interface.

User requires the old credentials

Owing to security reasons, CDP cannot display the credentials more than once. You must save the credential information when it is generated. If you do not have access to your old credentials and want to access the instance, you must regenerate credentials and use the new set of credentials for accessing the instance.

Unable to create a batch with more than 200 records in data erasure

CDP allows you to create a batch with no more than 200 records. If you attempt to create a batch that exceeds the limit of 200 records, the system displays an error message. For example,

The request is over the 200 batch limit. Remove profiles to Submit Request.


To ensure that you do not cross the 200 limit, remove the records. You can create separate batches with each batch containing a maximum of 200 records.

Zero-audience warning

Campaign execution in CDP fails with a zero audience warning message. You can view the warning message on the Campaign History page of each campaign. You can get zero-audience count in CDP campaigns due to the following reasons:

  • Audience count is zero: Occurs when the campaign could not target or run on any audience segment.
  • Audience does not have any matching content: Occurs when the targeted audience does not have any matching content.
  • No content that matched to the campaign output table: Occurs when no content matched to the campaign output table, or the audience segment could not output data in the table.

Multi-touch attribution reporting

Why don’t I see the Attribution section in the Metrics tab

You are unable to view the Attribution section in the Metrics tab as the multi-touch attribution feature is not provisioned for your account.

To get access to this feature, contact your CDP CVM or AM.

Why do I see a blank report after selecting relevant dimensions and metrics

This issue occurs when:

  • Either of the Transactionsummary, Promotiontypesummary, or Event tables is not refreshed with relevant data.
  • Tables are not mapped with each other due to blank or null values in the mapping column.

Why am I unable to segment the audience after I randomly split an audience or segment into variants?

Due to the complex nature of overlapping segments and segment prioritization, there is a concern that randomly splitting a segment anywhere above the leaf-level segment can cause confusion. For example, if segment A and B are overlapping, one might ask “why did segment B suppress 25 people from variant A under segment A, leading to an uneven distribution of people in the A/B test?” To avoid this confusion, and to improve campaign performance, CDP only allows the random splitting of segments or audiences into variants after segmentation is complete.

Audience history table functioning in the SQL table join queries

Why does audiencehistory’s mastercustomerid use the mastercustomerid at that specific point in time during campaign runs?

The mastercustomerids can change over time. You can switch groups or merge into the same group at a later time.

Why is mastercustomer.customerid (not audiencehistory.mastercustomerid) used for the join instead of mastercustomerid?

The mastercustomer.customerid is used for the join to ensure that the current view of data includes all customers associated with the mastercustomer at that specific point in time in the audience history table.

Why is mastercustomerid used for the joins and is not the same as the other tables such as customersummary, mastercustomer, and transactionsummary for consistency?

The mastercustomerid is used for the joins and is not the same as the other tables such as customersummary, mastercustomer, transactionsummary because summary tables are recomputed daily whereas the audiencehistory table is a historical record of changes. In addition, CustomerIds remain fixed and do not change unless specifically adjusted during onboarding.

On the contrary, MasterCustomerId can change based on data and IRE rules, or on a daily basis. To locate summaries related to a customer, you need to use the CustomerId to determine the current MasterCustomerId as the membership in the MasterCustomerId group can change over time. While consistency is important, the priority is to ensure accuracy. If MasterCustomerIds had consistent membership over time, we could use MasterCustomerId for joins. However, in actual scenarios, memberships can change and are not always additive.