Subscription Landing Page that places Profiles in Audiences | Community
Skip to main content
New Participant
June 8, 2017
Solved

Subscription Landing Page that places Profiles in Audiences

  • June 8, 2017
  • 17 replies
  • 4690 views

Hi,

In Adobe Campaign Standard, there are some out of the box Subscription Landing Pages which you can code to include additional fields like First name, Last name, Email, etc.  Is there any way when a person subscribes via the subscription page, Along with adding them in Profiles, can you also add them in Audiences?  if so, Can you provide a hint how....

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by florentlb

Hi Clarence,

You have several ways of getting a list with all subscribers that registered through a landing page:

  • Setting up a service. When someone submits the form, his profile is added to the database, and he is also subscribed to a "service". You can set this in the landing page properties. You can then easily have a "Query" type audience which will simply contain "Subscribers of the XXX service". Query audiences are computed dynamically every time they are used.
  • Defining a recurring workflow which contains:
    • A scheduler (for example executed once a day)
    • An Incremental Query that retrieves profiles who registered through a specific landing page. Using an Incremental query allow you to only retrieve new profiles since the last execution.
    • A Save Audience activity that will add the new profiles to the Audience of your choice.
      Note that audiences managed that way are static lists of profiles.

Let me know if you'd like more details. Here a a few links that might help:

Hope this helps,

Florent.

17 replies

New Participant
March 15, 2018

Hi,

Can you give some details on what connectivity issues you have resolved. We have similar issue with saving profile data to campaign from AEM Forms.

Any inputs will really help.

Thanks in advance.

-Ramakrishna

florentlb
New Participant
September 4, 2017

Hi Vidhu,

Looks like there is an issue with the subscription action, can you share a screenshot of how you configured the subscription button?

Florent

New Participant
September 1, 2017

Hi Florent,

We have resolved the connectivity issues, However after submitting the form, We are getting below error.

01.09.2017 17:27:19.120 *ERROR* [0:0:0:0:0:0:0:1 [1504267039108] POST /content/campaigns/geometrixx-outdoors/master/e-mails/article_cam.html HTTP/1.1] org.apache.sling.servlets.get.impl.DefaultGetServlet No renderer for extension html, cannot render resource ResourceWrapper, type=mcm/campaign/components/form/actions/serviceSubscribe, path=/content/campaigns/geometrixx-outdoors/master/e-mails/article_cam/jcr:content/par/start, resource=[JcrNodeResource, type=foundation/components/form/start, superType=null, path=/content/campaigns/geometrixx-outdoors/master/e-mails/article_cam/jcr:content/par/start]

Any help to resolve this issue please?

Thanks,

Vidhu

florentlb
New Participant
August 29, 2017

Hi Vidhu,

Which version of AEM are you using? So I can make sure of the prerequisites, if any. If the cloud service is correctly set in AEM (and indicates that the connection was tested successfully) and you are able to create a Campaign form, that should be all I can think about.

Please have a look at this page: Troubleshooting your Adobe Campaign Integration - docs.adobe.com  There might be some hints regarding your AEM installation that you'd need to check.

From the logs you shared though, it seems the first one is triggered by the fact that you are not logged in to the publish instance (you can check if you are logged in from yourinstanceURL/crx/de/index.jsp)

If that does not help, please raise a ticket to Adobe support, they'll be able to investigate this further.

Let me know,

Florent

New Participant
August 29, 2017

Hi Florent,

I have checked the campaign configuration in both author and publish instance. we are using training instance hosted by adobe. will that be any reason for this issue

I have configured aemserver operator in campaign and using the same in author and publish and when we connected , we got a message connection test is successful.

Thanks

Vidhu

florentlb
New Participant
August 29, 2017

Sure Manas,

Having a look right now,

Florent

florentlb
New Participant
August 29, 2017

Hi Vidhu,

Can you double check that you are correctly authenticated on both authoring and publishing AEM instances?

Florent

New Participant
August 29, 2017

HI Florent,

Trying to implement the exact same thing but getting an error.

I have put a separate question

Getting error while connecting AEM with Campaign

Will you be able to shed some light here?

Regards,

Manas

New Participant
August 28, 2017

Hi Florent,

I have followed the instructions and developed a form , However after submitting the form I am facing the below issue.

We are using Adobe Campaign Training Environment and I am not sure all the features are available.

Log file of publish instance AEM:

28.08.2017 17:09:04.706 *ERROR* [0:0:0:0:0:0:0:1 [1503920344701] POST /content/campaigns/geometrixx-outdoors/master/e-mails/Sample.html HTTP/1.1] org.apache.sling.servlets.get.impl.DefaultGetServlet No renderer for extension html, cannot render resource ResourceWrapper, type=mcm/campaign/components/form/actions/profileSave, path=/content/campaigns/geometrixx-outdoors/master/e-mails/Sample/jcr:content/par/start, resource=[JcrNodeResource, type=foundation/components/form/start, superType=null, path=/content/campaigns/geometrixx-outdoors/master/e-mails/Sample/jcr:content/par/start]

28.08.2017 17:09:05.402 *INFO* [0:0:0:0:0:0:0:1 [1503920344701] POST /content/campaigns/geometrixx-outdoors/master/e-mails/Sample.html HTTP/1.1] com.day.cq.mcm.campaign.impl.CampaignConnectorImpl Status code: 403; response body is: Authentication required                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

28.08.2017 17:09:05.402 *INFO* [0:0:0:0:0:0:0:1 [1503920344701] POST /content/campaigns/geometrixx-outdoors/master/e-mails/Sample.html HTTP/1.1] com.day.cq.mcm.campaign.impl.CampaignConnectorImpl Requested: /jssp/nms/amcStoreProfile.jssp - data: key=&keyValue=&data={}&mapping=mapRecipient&resource=mapRecipient&__sessiontoken=***

28.08.2017 17:09:05.404 *ERROR* [0:0:0:0:0:0:0:1 [1503920344701] POST /content/campaigns/geometrixx-outdoors/master/e-mails/Sample.html HTTP/1.1] com.day.cq.mcm.campaign.servlets.SaveProfileServlet Could not save profile data

com.day.cq.mcm.campaign.ConnectionException: Unexpected status code (expected 200, was 403)

at com.day.cq.mcm.campaign.impl.CampaignConnectorImpl.postGeneric(CampaignConnectorImpl.java:292)

at com.day.cq.mcm.campaign.impl.CampaignConnectorImpl.postFunction(CampaignConnectorImpl.java:211)

at com.day.cq.mcm.campaign.servlets.SaveProfileServlet.saveProfile(SaveProfileServlet.java:92)

at com.day.cq.mcm.campaign.servlets.SaveProfileServlet.doPost(SaveProfileServlet.java:143)

at org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:149)

at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:346)

at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:378)

at org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:552)

at org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:44)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:71)

at com.adobe.granite.rest.assets.impl.AssetContentDispositionFilter.doFilter(AssetContentDispositionFilter.java:96)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at com.day.cq.wcm.core.impl.WCMDebugFilter.doFilterWithErrorHandling(WCMDebugFilter.java:192)

at com.day.cq.wcm.core.impl.WCMDebugFilter.doFilter(WCMDebugFilter.java:159)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at com.day.cq.wcm.core.impl.WCMComponentFilter.filterRootInclude(WCMComponentFilter.java:375)

at com.day.cq.wcm.core.impl.WCMComponentFilter.doFilter(WCMComponentFilter.java:190)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:138)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at com.day.cq.personalization.impl.TargetComponentFilter.doFilter(TargetComponentFilter.java:96)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at org.apache.sling.engine.impl.SlingRequestProcessorImpl.processComponent(SlingRequestProcessorImpl.java:282)

at org.apache.sling.engine.impl.SlingRequestProcessorImpl.dispatchRequest(SlingRequestProcessorImpl.java:322)

at org.apache.sling.engine.impl.request.SlingRequestDispatcher.dispatch(SlingRequestDispatcher.java:211)

at org.apache.sling.engine.impl.request.SlingRequestDispatcher.forward(SlingRequestDispatcher.java:146)

at com.day.cq.wcm.core.impl.WCMComponentFilter$ForwardRequestDispatcher.forward(WCMComponentFilter.java:503)

at com.day.cq.wcm.foundation.forms.FormsHandlingServletHelper.doPost(FormsHandlingServletHelper.java:155)

at com.day.cq.wcm.foundation.forms.impl.FormsHandlingServlet.doPost(FormsHandlingServlet.java:128)

at org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:149)

at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:346)

at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:378)

at org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:552)

at org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:44)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:71)

at com.adobe.granite.rest.assets.impl.AssetContentDispositionFilter.doFilter(AssetContentDispositionFilter.java:96)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at com.day.cq.wcm.core.impl.WCMDebugFilter.doFilterWithErrorHandling(WCMDebugFilter.java:192)

at com.day.cq.wcm.core.impl.WCMDebugFilter.doFilter(WCMDebugFilter.java:159)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at com.day.cq.wcm.core.impl.WCMComponentFilter.filterRootInclude(WCMComponentFilter.java:375)

at com.day.cq.wcm.core.impl.WCMComponentFilter.doFilter(WCMComponentFilter.java:190)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:138)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at com.day.cq.personalization.impl.TargetComponentFilter.doFilter(TargetComponentFilter.java:96)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at org.apache.sling.engine.impl.SlingRequestProcessorImpl.processComponent(SlingRequestProcessorImpl.java:282)

at org.apache.sling.engine.impl.SlingRequestProcessorImpl.dispatchRequest(SlingRequestProcessorImpl.java:322)

at org.apache.sling.engine.impl.request.SlingRequestDispatcher.dispatch(SlingRequestDispatcher.java:211)

at org.apache.sling.engine.impl.request.SlingRequestDispatcher.forward(SlingRequestDispatcher.java:146)

at com.day.cq.wcm.foundation.forms.FormsHandlingServletHelper.handleFilter(FormsHandlingServletHelper.java:216)

at com.day.cq.wcm.foundation.forms.impl.FormsHandlingServlet.doFilter(FormsHandlingServlet.java:138)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at com.adobe.granite.optout.impl.OptOutFilter.doFilter(OptOutFilter.java:76)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at com.day.cq.wcm.foundation.forms.FormsHandlingServletHelper.handleFilter(FormsHandlingServletHelper.java:221)

at com.adobe.cq.wcm.core.components.internal.servlets.CoreFormHandlingServlet.doFilter(CoreFormHandlingServlet.java:131)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at com.day.cq.wcm.core.impl.WCMRequestFilter.doFilter(WCMRequestFilter.java:90)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at com.adobe.cq.mcm.campaign.servlets.CampaignCopyTracker.doFilter(CampaignCopyTracker.java:100)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at org.apache.sling.rewriter.impl.RewriterFilter.doFilter(RewriterFilter.java:83)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at com.adobe.granite.httpcache.impl.InnerCacheFilter.doFilter(InnerCacheFilter.java:81)

at com.adobe.granite.httpcache.impl.InnerCacheFilter.doFilter(InnerCacheFilter.java:60)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:138)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:73)

at com.adobe.granite.resourceresolverhelper.impl.ResourceResolverHelperImpl.doFilter(ResourceResolverHelperImpl.java:83)

at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:68)

at org.apache.sling.engine.impl.SlingRequestProcessorImpl.doProcessRequest(SlingRequestProcessorImpl.java:151)

at org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:219)

at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:85)

at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:79)

at com.adobe.granite.license.impl.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:308)

at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135)

at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74)

at org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:96)

at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135)

at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74)

at org.apache.sling.security.impl.ReferrerFilter.doFilter(ReferrerFilter.java:295)

at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135)

at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74)

at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:138)

at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135)

at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74)

at org.apache.sling.featureflags.impl.FeatureManager.doFilter(FeatureManager.java:116)

at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135)

at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74)

at org.apache.sling.engine.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:72)

at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135)

at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74)

at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:128)

at org.apache.felix.http.base.internal.dispatch.DispatcherServlet.service(DispatcherServlet.java:49)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)

at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)

at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)

at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)

at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)

at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)

at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)

at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)

at org.eclipse.jetty.server.Server.handle(Server.java:499)

at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)

at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)

at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)

at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)

at java.lang.Thread.run(Unknown Source)

florentlb
New Participant
August 25, 2017

Hi Vidhu,

There is a feature in the integration between AEM and AC that allows to create forms that are mapped with Campaign fields. Here is an overview of how it works: Creating Adobe Campaign Forms in AEM - docs.adobe.com 

Let me know if this works for you,

Florent