Document Properties
Kbid
2G9985
Last Modified
24-Aug-2023
Added to KB
20-Oct-2021
Public Access
Everyone
Status
Online
Doc Type
Concepts
Product
  • ICM 7.10
  • ICM 11
  • ICM 12
Concept - E-Mail Marketing / Newsletter Subscription

Introduction

A newsletter subscription is offered to customers to provide information and also to support customer commitment.

Intershop Commerce Management (ICM) comes with a simple out-of-the-box newsletter subscription service that allows you to manage registrations within the ICM and export the list of registered customers to third-party systems.
It is also possible to replace this basic solution with a direct connection to an external e-mail marketing service/tool. Fur this purpose, ICM provides the EmailMarketingProvider interface which has to be implemented. This is described in the next section.

EmailMarketingProvider Interface

The EmailMarketingProvider interface is an abstract Java class that defines the basic methods for newsletter subscription services:

  • memberExists(email): returns true or false of an e-mail already registered for newsletter

  • addSubscription(email): registers an e-mail for newsletter

  • changeSubscriberEmail(oldEmail, newEmail): changes e-mail of a subscription from oldEmail to newEmail

  • removeSubscription(email): unregisters an e-mail for newsletter/remove subscription

  • sendAbandonedBasketMessage(email): sends an e-mail to the customer whose basket has been abandoned for a certain time (configurable)

  • ping(): test the connection to an external service

This class is implemented/extended by concrete subclasses:

  • EmailMarketingStdMgrImpl (ac_email_marketing_std) for the Standard Newsletter Subscription Service

  • Example: CustomEmailMarketingProviderImpl (ac_email_marketing_custom) for a custom e-mail marketing provider

Only one EmailMarketingProvider implementation can be active per ICM channel.

The EmailMarketingProviderDefinition interface defines methods to access important configuration values:

The Standard Newsletter Subscription Service is described in detail in the following section. For a description of how to connect to an external newsletter subscription service, see Cookbook - E-Mail Marketing / Newsletter Subscription.

The Standard Newsletter Subscription Service (from ICM 7.10.16.1)

This paragraph is valid for ICM version 7.10.16.1 and higher.

Intershop Commerce Management provides the Newsletter Subscription Service, which allows you to manage registrations and export the list of registered customers to third-party systems. Customers can register anonymously with their e-mail address or as a registered customer in their My Account area. The shop manager can accept or reject the registration and forward it to an external newsletter tool. With this export, double opt-in is considered as a possible legal requirement. The idea of this feature is to get the contact information of customers who are not registered and to get permission to use this information for marketing purposes. Since this is only a basic newsletter subscription service within ICM, there is no automatic e-mail support. Therefore, the service will not send any double opt-in or marketing-related e-mails. The “Abandoned Basket Messages” feature is also not supported.

Newsletter Process:

The following sections describe how the Newsletter Subscription Service works in general and how to configure the system.

Activation of the Standard Newsletter Subscription Service

If the newsletter subscription service is not active, the newsletter overview page displays the following message:

To activate the newsletter feature, perform the following steps:

  1. Select the channel from the context selection box.

  2. Go to Preferences | E-mail Marketing.

  3. Select the e-mail marketing provider from the drop down list.
    The name of this provider is Newsletter Subscription Service.

  4. Enter the following link to the provider tool: http://localhost/

  5. Enter "1" as abandoned basket timeout.
    These values are not used by the subscription service, but they are still there for compatibility reasons.

  6. Click Apply.
    The provider is now registered and can be used.

Subscribing for and Unsubscribing From the Newsletter

Registered Customers

Logged-in customers can enable or disable the newsletter subscription in the storefront in their My Account area under Profile Settings | Edit your profile.

Checking the Yes, please send me newsletters and notify me of sales and promotions checkbox and saving the changes activates the subscription. Unchecking the checkbox will unsubscribe the customer from the newsletter.

The customer's e-mail address then appears in Intershop Commerce Management at channel level under Marketing | Newsletter with an unconfirmed status.

Unregistered Users

Unregistered storefront visitors can subscribe anonymously by entering their e-mail address in the input field in the footer of the storefront. After a syntax check of the e-mail address, the storefront displays a confirmation dialog and the e-mail address is registered.
With this form of registration, storefront visitors cannot remove their entries themselves, but must contact the customer service representative by e-mail or phone. The customer service representative then has to go to Marketing | Newsletter at channel level to search for the customer's e-mail address and delete the entry.

Confirming the Subscription

If a newsletter subscription confirmation is required, for example via double opt-in, the confirmation feature has to be enabled in Intershop Commerce Management at channel level under Marketing | Newsletter in the Settings tab.

Depending on the confirmation status, the table in the Subscriptions tab that shows all registered customers contains additional columns.
If the confirmation in the Settings tab is enabled, the columns Confirmed, Last Modified Date and Editor are visible in the Subscriptions tab. Editor is the user that manually confirmed the e-mail-address.

The confirmation feature can for example be used as a double opt-in process in a manual way. Once a customer has subscribed to a newsletter, a manual process can be initiated to send an email requesting confirmation of the subscription. After receiving a positive response, the subscription can be manually confirmed in the Newsletter overview table. If the status in the Confirmed column is green, the subscriber can receive marketing notifications.

If the confirmation setting is disabled, the Confirmed, Last Modified Date and Editor columns are not displayed in the Subscriptions tab.

Exporting Subscriptions

To export all confirmed e-mail addresses, perform the following steps:

  1. On channel level, go to Marketing | Newsletter.

  2. In the Subscriptions tab, click the Export button to trigger the export of all confirmed e-mail addresses.

  3. Enter a file name for the export.

  4. Click Export.
    After the export has finished, you can download the subscriber data as a CSV file from the Status section.
    This file contains data of all registered customers, as shown in the following example:

    EMail;CreationDate;Confirmed;LastModified;Editor
    patricia@test.intershop.de;2019-11-06;true;2019-11-18;admin

If the confirmation feature is enabled, only confirmed e-mail addresses are exported. If the feature is disabled, all e-mail addresses are exported.

Implementation

Registering the E-Mail Marketing Provider

The service provider has to be registered at the EmailMarketingProviderDefinition. The registration of the new provider at the EmailMarketingProviderDefinition is executed during server startup via a naming module.
In the following, you can see a source code example for AcEmailMarketingStdNamingModule.

...
bind(EmailMarketingStdConfigurationFactory.class).to(EmailMarketingStdConfigurationFactoryImpl.class).in(Singleton.class);
Multibinder.newSetBinder(binder(), EmailMarketingProviderDefinition.class)
           .addBinding().to(EmailMarketingStdProviderDefinitionImpl.class);
...

This naming module has to be declared in your cartridge's objectgraph.properties:

<yourcartridge>/src/main/resources/resources/<yourcartridge>/objectgraph/objectgraph.properties

Personal Data / GDPR

Registering the Personal Data Request Provider

The new personal data request provider for newsletter has to be registered at the EmailMarketingStdPersonalDataProvider.

The registration of the new provider at the EmailMarketingStdPersonalDataProvider is executed during server startup via a naming module.

A source code example for AcEmailMarketingStdNamingModule is shown below:

...
MapBinder<String, Function<PersonalDataRequestBO, List<PersonalInformationRO>>> personalInformationProviders;
personalInformationProviders = MapBinder.newMapBinder(binder(),
                                                      new TypeLiteral<String>(){},
                                                      new TypeLiteral<Function<PersonalDataRequestBO, List<PersonalInformationRO>>>(){},
                                                      named("GDPR-PersonalInformationProviders"));
personalInformationProviders.addBinding("EmailMarketingStdPersonalDataProvider")
                            .to(EmailMarketingStdPersonalDataProvider.class).in(Singleton.class);
...

Personal Data Request

The newsletter object will be exported within the set of personal data. The exported data consists of the following fields for newsletter:

  • CREATIONDATE

  • EMAIL

  • LASTMODIFIEDDATE

  • NEWSLETTERCONFIRMED

Account Deletion of Registered Customers

When a registered customer requests account deletion, all newsletter information is automatically removed from the system and can no longer be used.

Account Deletion of Unregistered Users

When an unregistered user requests the deletion of personal data, a customer service representative has to perform the following steps:

  1. Search for the user's e-mail address under Marketing | Newsletter on the Subscriptions tab (1).

  2. Delete multiple entries by checking the respective checkboxes (2) and clicking Delete (3).
    Alternatively, single entries can be deleted directly via the trash icon in the Actions column (4).



Disclaimer
The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.
Home
Knowledge Base
Product Releases
Log on to continue
This Knowledge Base document is reserved for registered customers.
Log on with your Intershop Entra ID to continue.
Write an email to supportadmin@intershop.de if you experience login issues,
or if you want to register as customer.