This documentation describes how to integrate AEM with Adobe Campaign Classic, the on-premise solution. If you are using Adobe Campaign Standard, see Integrating with Adobe Campaign Standard for those instructions.
Adobe Campaign lets you manage email delivery content and forms directly in Adobe Experience Manager.
To use both solutions together at the same time, you must first configure them to connect to one another. This involves configuration steps in both Adobe Campaign and Adobe Experience Manager. These steps are described in detail in this document.
Working with Adobe Campaign in AEM includes the ability to send email via Adobe Campaign and is described at Working with Adobe Campaign. It also includes using forms on AEM pages to manipulate data.
In addition, the following topics may be of interest when integrating AEM with Adobe Campaign:
If you are extending your integration with Adobe Campaign, you may want to see the following pages:
This section describes a typical workflow between AEM and Adobe Campaign when creating campaigns and delivering content.
The typical workflow involves the following and is described in detail:
You start building a campaign at any time. Before you link the content, AEM and AC are independent That means marketers can start creating their campaigns and targeting in Adobe Campaign, while content creators are working on the design in AEM.
Before you link the content and create a delivery mechanism, you need to do the following:
In AEM
In Adobe Campaign
After you have prepared the content for linking and delivery, you determine exactly how and where to link content.
All these steps are completed in Adobe Campaign.
If you are new to AEM, you may find the following links helpful to understand AEM:
Configuring Adobe Campaign involves the following:
In addition, there are advanced configurations that you can make, including :
To perform these operations, you must have the administration role in Adobe Campaign.
Make sure you have the following elements beforehand:
If you are running a version earlier than Adobe Campaign Classic build 8640, see the upgrade documentation for more information. Note that both client and database have to be upgraded to the same build.
Operations detailed in the Configuring Adobe Campaign and Configuring Adobe Experience Manager sections are necessary for the integration functionalities between AEM and Adobe Campaign to work correctly.
You must install the AEM Integration package in Adobe Campaign. To do this:
Go to the Adobe Campaign instance that you would like to link with AEM.
Select Tools > Advanced > Import package….
Click Install a standard package, then select the AEM Integration package.
Click Next, and then Start.
This package contains the aemserver operator that will be used to connect the AEM server to Adobe Campaign.
By default, no security zone is configured for this operator. To connect to Adobe Campaign via AEM, you must select one.
In the serverConf.xml file, the allowUserPassword attribute of the selected security zone must be set to true to authorize AEM to connect Adobe Campaign via login/password.
We strongly recommend creating a security zone dedicated to AEM to avoid any security problems. For more on this, refer to the Installation guide.
You must configure an external account that allows you to connect Adobe Campaign to your AEM instance.
To configure an external AEM account:
Go to the Administration > Platform > External Accounts node.
Create a new external account and select the AEM type.
Enter the access parameters for your AEM authoring instance: the server address as well as the ID and password used to connect to this instance. The campaign-api user account password is the same as the campaign-remote user that you set a password for in AEM.
Make sure that the server address does not end in a trailing slash. For example, enter https://yourserver:4502
instead of https://yourserver:4502/
Make sure that the Enabled checkbox is selected.
The AEMResourceTypeFilter option is used to filter types of AEM resources that can be used in Adobe Campaign. This allows Adobe Campaign to retrieve AEM contents that are specifically designed to be used in Adobe Campaign only.
This option should come pre-configured; however, if you change this option, it may lead to a non-functioning integration.
To verify the AEMResourceTypeFilter option is configured:
Go to Platform >Options.
In the AEMResourceTypeFilter option, check that the paths are correct. This field must contain the value:
mcm/campaign/components/newsletter,mcm/campaign/components/campaign_newsletterpage,mcm/neolane/components/newsletter
Or in some cases, the value is as follows:
mcm/campaign/components/newsletter
To configure AEM, you must do the following:
Content created from the AEM authoring instance is first sent to the publishing instance. You need to publish so that the images in the newsletter are available on the publish instance and to newsletter recipients. The replication agent must therefore be configured to replicate from the AEM authoring instance to the AEM publishing instance.
If you do not want to use the replication URL but instead use the public-facing URL, you can set the Public URL in the following configuration setting in the OSGi (AEM logo > Tools icon > Operations > Web Console > OSGi Configuration > AEM Campaign Integration - Configuration):
Public URL: com.day.cq.mcm.campaign.impl.IntegrationConfigImpl#aem.mcm.campaign.publicUrl
This step is also necessary to replicate certain authoring instance configurations into the publishing instance.
To configure replication between AEM instances:
From the authoring instance, select AEM logo> Tools icon > Deployment > Replication > Agents on author, then click Default Agent.
Avoid using localhost (that is a local copy of AEM) when configuring your integration with Adobe Campaign unless the publish and author instance are both on the same computer.
Tap or click Edit then select the Transport tab.
Configure the URI by replacing localhost with the IP address or the address of the AEM publishing instance.
Before you can use AEM and Adobe Campaign together, you must establish the link between both solutions so that they can communicate.
Connect to your AEM authoring instance.
Select AEM logo > Tools icon > Deployment > Cloud Services, then Configure now in the Adobe Campaign section.
Create a new configuration by entering a Title and click Create, or choose the existing configuration that you want to link with your Adobe Campaign instance.
Edit the configuration so that it matches the parameters of your Adobe Campaign instance.
Select Connect to Adobe Campaign and click OK.
After you create your email and publish it, you need to re-publish the configuration onto your publish instance.
If the connection fails, make sure you check the following:
In addition, see Troubleshooting your AEM/Adobe Campaign integration.
You need to configure the externalizer in AEM on your author instance. The Externalizer is an OSGi service that lets you transform a resource path into an external and absolute URL. This service provides a central place to configure those external URLs and build them.
See Configure the externalizer for general instructions. For the Adobe Campaign integration, make sure you configure the publish server at https://<host>:<port>/system/console/configMgr/com.day.cq.commons.impl.ExternalizerImpl
not point to localhost:4503
but to a server that is reachable by the Adobe Campaign console.
If it points to localhost:4503
or another server that Adobe Campaign cannot reach, your images will not appear on the Adobe Campaign console.
You can also perform some advanced configurations, namely:
The fields and blocks available to add personalization to your email content in AEM are managed by Adobe Campaign.
A default list is provided but can be modified. You can also add or hide personalization fields and blocks.
To add a new personalization field to those that are already available, you have to extend the Adobe Campaign nms:seedMember schema as follows:
The field that you need to add must have already been added via a recipient schema extension (nms:recipient). For more information, see the Configuration guide.
Go to the Administration > Configuration > Data schemas node in the Adobe Campaign navigation.
Select New.
In the pop-up window, select Extend the data in the table using an extension schema and click Next.
Enter the different parameters of the extended schema:
Edit the XML code of the schema to specify the field that you want to add there. For more information on extending schemas in Adobe Campaign, refer to the Configuration guide.
Save your schema then update the Adobe Campaign database structure via the Tools > Advanced > Update database structure menu in the console.
Disconnect then reconnect to the Adobe Campaign console to save your changes. The new field now appears in the list of personalization fields available in AEM.
To add a Registration Number field, you must have the following elements:
<element desc="Recipient table (profiles)" img="nms:recipient.png" label="Recipients" labelSingular="Recipient" name="recipient">
<attribute dataPolicy="smartCase" desc="Recipient registration number"
label="Registration Number"
length="50" name="registrationNumber" type="string"/>
</element>
The nms:seedMember schema extension named cus:seedMember contains:
<element desc="Seed to insert in the export files" img="nms:unknownad.png" label="Seed addresses" labelSingular="Seed" name="seedMember">
<element name="custom_nms_recipient">
<attribute name="registrationNumber"
template="cus:recipient:recipient/@registrationNumber"/>
</element>
</element>
The Registration Number field is now part of the available personalization fields:
To hide a personalization field among those that are already available, you must extend the Adobe Campaign nms:seedMember schema as detailed in the Adding a personalization field section. Apply the following steps:
Copy the field that you want to take from the nms:seedMember schema in the extended schema (cus:seedMember for example).
Add the advanced=“true” XML attribute to the field. It no longer appears in the list of personalization fields available in AEM.
For example, to hide the Middle Name field, the cud:seedMember schema must contain the following element:
<element desc="Seed to insert in the export files" img="nms:unknownad.png" label="Seed addresses" labelSingular="Seed" name="seedMember">
<element name="custom_nms_recipient">
<attribute advanced="true" name="middleName"/>
</element>
</element>
To deactivate a personalization block among those available:
Go to the Resources > Campaign Management > Personalization blocks node in the Adobe Campaign navigation.
Select the personalization block that you want to deactivate in AEM.
Clear the Visible in the customization menus checkbox and save your changes. The block no longer appears in the list of personalization blocks available in Adobe Campaign.
You can also insert target extension data for personalization. Target extension data (also called ‘Target Data’), comes from enriching or adding data in a query in a campaign workflow for example. For more information, refer to the Creating queries and Enriching data sections.
The data in the target is only available if the AEM content is synchronized with an Adobe Campaign delivery. See Synchronizing content created in AEM with a delivery from Adobe Campaign.