Log in as administrator and in the user administration console.
This technical implementation guide provides information about the reference architecture, guidelines, configuration steps and tests that implementation specialists need to follow while integrating Adobe Experience Manager to Adobe Campaign Standard.
This technical integration guide is intended for Adobe Consultants, Adobe Partners, and other experienced implementation specialists. Configuring this integration requires a full understanding of the implementation process for each individual solution covered in this guide.
Adobe Campaign lets you manage email delivery content and forms directly in Adobe Experience Manager.
To use both solutions together, 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 and forms via Adobe Campaign.
With the help of the discovery phase, the consultant should be able to have all the information needed to plan the delivery or execution approach. The document will also help the consultant to drive conversation with the client by citing various use cases about how other customers have achieved their goals.
The following integrations are applicable for AEM:
Make sure you have the following elements beforehand starting with the integration.
The following pictures illustrate a high-level overview of AEM to Adobe Campaign integration.
With the help of the installation provisioning phase, the consultant should be able to provide access and install the solutions in the client's platform.
Refer to the adobe docs for details around installation of AEM:
Configuring Adobe Campaign involves the following:
NOTE: To perform these operations, you must have the administration role in Adobe Campaign.
The aemserver user must be configured in Adobe Campaign. The aemserver is a technical user that will be used to connect the AEM server to Adobe Campaign.
Go to Administration > Users & Security > Users, and select the aemserver user. Click it to open the user settings.
You must configure an external account that allows you to connect Adobe Campaign to your AEM instance.
In AEM, make sure that you set the password for the campaign-remote user. You need to set this password to connect Adobe Campaign with AEM.
To set the password:
Log in as administrator and in the user administration console.
Search for the campaign-remote user, and then click Set Password.
To configure an AEM External Account:
Go to Administration > Application settings > External accounts.
Select the default aemInstance external account or create a new one by clicking the Create button.
Select Adobe Experience Manager in the Type field, and then enter the access parameters used for your AEM authoring instance: server address, account name and password.
Make sure that you do not add an ending / slash at the end of the URL or the connection will not work.
Select the Enabled checkbox, and then click Save to save your modifications.
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 comes pre-configured; however, if you change this option, it may lead to a non-functioning integration.
To verify the AEMResourceTypeFilter option is configured:
By default, the AEM feature is not enabled in Adobe Campaign's email templates. You can configure a new email delivery template that will be used to create emails with AEM content.
To create an AEM-specific email delivery template:
Email deliveries created from this template will have the AEM content feature enabled.
To configure AEM, you must do the following:
Content that is created from the AEM authoring instance is first sent to the publishing instance. This publishing instance then transfers the content to Adobe Campaign. 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 (Tools > 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.
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 Tools > Operations > Cloud > 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 then 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:
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 http://<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.
Create a web page to allow end-user to sign-up/submit profile details that maps the user details to existing user data on Campaign.
Adding custom fields in Campaign Standard, and being able to build a form in AEM6.2 that maps to the custom fields. Implementation involves following steps:
Create form on AEM:
Create a new page on AEM and choose the Adobe Campaign Profile (ACS).
Next, add the profile-id in the Title.
Click on Create and open the new page created.
Click on the “Form Start” block and wait for the toolbar to appear, then click on “Configure”. Click on the “Advanced tab”, to verify configurations for existing profiles.
Create the Fields to Update:
Click on the upper left of the screen, then on the “+”.
Drag/drop three “Text Field” components in the form.
Then, open the configure menu while clicking on the added field.
Configure the fields:
The element name must be unique in the form.
After you have configured the page, you can preview (upper right) the page and try to add a new profile.
You can validate this by checking the profiles inside Adobe Campaign Standard under the Profiles menu:
Testing from the Publish-Instance
Activate the page and submit from the AEM-publish environment.
Compose a personalized email template in AEM with personalized fields from Adobe Campaign Standard. Use the content to send an email to Users from Adobe Campaign Standard.
Pre-requisite - Create a workflow in Adobe Campaign Standard
Workflows are used in Adobe Campaign Standard to allow automated email communications (known as Campaigns). Workflows can be created under the Marketing Activities tab.
Create a workflow to query an audience and add an email channel activity to configure the email to be sent to the audience.
Open (pencil) the “Send via email with AEM content” activity and check the connection to AEM.
Click on the pencil on the right-hand side and expand the Content section.
Close the screen and go back to the workflow. Click on “summary” if the workflow link doesn’t appear.
In AEM, create a new page and select the Adobe Campaign Email (ACS) template.
Indicate the ID.
In case of missing or invalid webservice config, navigate to page properties in the main toolbar and add the Adobe Campaign configuration in the Cloud Services tab.
Compose the content of the email and use the personalization fields from Campaign:
Click on “Drag components here” and wait for the “+” to appear.
Click on "Text & Personalization (Campaign)".
Click on the pencil icon.
Through the Adobe Campaign button you can select fields from the Profile (these will be replaced during the sending by Adobe Campaign Standard).
Open the email activity in the workflow in Adobe Campaign Standard.
Click on the white space in the 'Content' section.
You get now a screen presented where you can sync your email templates, click on “AEM”.
View the available templates, listed below:
Select the right template, and hit confirm. This now links the template between AEM and Adobe Campaign Standard. To confirm this, you can reload the email in AEM and you will see a similar indicator.
The email can be approved on AEM before processing. This is done via the Workflow-tab, and to select the workflow ‘Approve for Adobe Campaign’.
Click on "View in Admin".
Click on the bell which shows notifications. This gets you through a number of steps, whereby in the final step you need to Approve the email.
After the approval you can see an indicator as below.
Now that we have completed all the pre-requisites for the workflow we can now run the workflow.
You can run the workflow by clicking the “Start” button.
Refresh the page and notice a blinking email-step in the workflow.
When you open the email step, you see the following notification:
This indicates that a final confirmation is needed, before the emails will be send. Once you click ‘Confirm’ the emails will be sent, and you can check your inbox for this.
When you now return to the screen of the marketing activities you see that the color has changed to green, and also an indication on the size of the audience involved.
AEM deployment plan - Please refere the Adobe documentation link for different AEM deployment topologies.
Campaign deployment plan - Please refere the Adobe documentation link for different Campaign deployment types.
Troubleshooting your Adobe Campaign Integration
The following troubleshooting tips help solve the most common problems you may encounter when you integrate AEM with Adobe Campaign:
General Troubleshooting Tips
For both integrations, you can check whether HTTP-calls are sent (AEM > Adobe Campaign, Adobe Campaign > AEM):
If the connection fails:
Check that you have configured the aemserver operator in Adobe Campaign.
If images do not appear in the Adobe Campaign console:
Check the HTML source and validate that you can open the URL from the client machine. If the URL has localhost:4503 in it, then change the configuration of Day CQ Link Externalizer on your author instance to point to a publish instance that can be reached from the Adobe Campaign console machine.
If you cannot connect from AEM to Adobe Campaign:
Look for the following error message in Adobe Campaign:
No datasource defined in the instance 'default'.
Make sure the DNS alias used to access the server is correct (for example, avoid hard-coded IP addresses). (iRc=16384)
To fix this issue, change the following in $CAMPAIGN_HOME/conf/config-<instance-name>.xml:
<dataStore hosts="*" lang="en_GB">
If no data displays in the Adobe Campaign dialog:
In Adobe Campaign, ensure that you have no trailing slash (/) after the port number. See section Configuring an external AEM account.
If you get a warning about your setlocale:
If you are starting the Apache HTTPD service and see the error "Warning: setlocale: LC_CTYPE cannot change locale" make sure that you have your en_CA.ISO-8859-15 locale installed on your system.
You can check whether it is installed by using local -a. If it is not installed you can patch /usr/local/neolane/nl6/env.sh script and change the locale to an installed one.
If you get an error while compiling script 'get_nms_amcGetSeedMetaData_jssp':
If you see the following error message in the AEM log file:
com.day.cq.mcm.campaign.impl.CampaignConnectorImpl Internal Adobe Campaign error: response body is Error while compiling script 'get_nms_amcGetSeedMetaData_jssp' line 45: String.prototype.toJSON called on incompatible XML.
Use the following workaround:
If Adobe Campaign displays an error when clicking the Synchronize button:
If when clicking the Synchronize button in Adobe Campaign 6.1, you see the following error:
Error while executing the method ‘aemListContent' of service 'nms:delivery':
To fix this issue, make sure the AEM connection-url configured in the External Accounts is reachable from the machine.
A switch from localhost to an IP-address solved this issue.
If you get a 'Cannot parse XTK Date+Time 'undefined'' error:
After clicking Synchronize, you get an error that a script on the pages has occured: Cannot parse XTK Date+Time 'undefined': not a valid XTK value.
This happens if there is still outdated Adobe Campaign information on the AEM instance. Solve this issue by reinstalling the AEM environment.
If a connection to SSL displays an error when setting up the cloud service:
In the error.log of AEM, if you see the following:
javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name at sun.security.ssl.ClientHandshaker.handshakeAlert(Unknown Source) at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source) at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source) at sun.security.ssl.AppOutputStream.write(Unknown Source)
Code samples are intended for illustration purposes only.
Please raise a ticket with the Adobe Campaign support team.
If you see http instead of an expected https links in the synchronization dialog:
With the following setup:
When trying to synchronize content in Adobe Campaign delivery, AEM returns a list of newsletters. However, the urls to the newsletters in the list are http addresses. When selecting one of the items in the list an error occurs.
To solve this issue:
If the custom template I created cannot be selected in Page Properties:
When creating a mail template for Adobe Campaign, you must include the property acMapping with the value mapRecipient in the jcr:content node of the template, or you will not be able to select the Adobe Campaign template in Page Properties of AEM (field is disabled).