Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Preference Center

juliemarks
Level 1
Level 1

What's the best way to build an email preference center in ACS?

 

In the image below you'll see I'm trying to create a page with checkboxes, fields like email frequency, etc. Is this doable via a landing page template (see current template in image) or do you have to custom code it elsewhere and import it into adobe?

 

I've searched help docs and community questions, but so far I haven't seen any way to build anything like what's in the goal state image so any advice would be greatly appreciated.  Thanks in advance!

 

 

 Preference Center Wireframe.png

landing page Landing Pages Templates
1 Accepted Solution
johnwwilcoxmba
Correct answer by
Level 5
Level 5

Yes it is possible to build a preference center, but you have to fool the landing page a bit.  Create a service call ____Preference_Center.  In the landing page select options check preload visitor data, reconcile by email, filter email, update strategy "Update", then click specific service and enter your preference center service you created above.  Then copy the html into your landing page.  That should get you started.

 

<form name="Preference" class="form" method="POST" autocomplete="off" data-nl-format="datetime">
<div><label class="stacked required" id="HtmlPage_htmlPage.email" style="text-align: left;">Email</label> <input class="stacked nl-dce-done" type="email" id="email" name="email" data-nl-ismandatory="true" data-nl-label="Email" data-nl-xpath="/context/profile/email" data-nl-type="string" readonly="readonly" data-nl-bindto="xpath" data-nl-checkboxbehavior="subscription" style="position: static; width: 448px; height: 25px; left: 0px; top: 0px; border-color: #555555; border-width: 0px; border-style: none; background-color: #fafafa; background-position: left top; background-repeat: repeat;" /></div>
<!-- List1 -->
<p> </p>
<div style="position: static; width: 448px; height: 21px; left: 0px; top: 0px; border-color: #999999; border-width: 0px; border-style: none; background-color: rgba(0, 0, 0, 0); background-position: left top; background-repeat: repeat;" data-nl-format="datetime"><input type="checkbox" id="ch1" class="nl-dce-done" data-nl-checkboxbehavior="subscription" data-nl-bindto="service" onclick="Box1Function()" data-nl-servicename="SVC*****" data-nl-servicelabel="Your Service Name" /> <span style="color: #0d0c0c;"><span style="color: #0d0c0c;">Newsletter<br style="font-size: 17px;" /></span></span></div>
<!-- List2 -->
<div style="position: static; width: 448px; height: 21px; left: 0px; top: 0px; border-color: #999999; border-width: 0px; border-style: none; background-color: rgba(0, 0, 0, 0); background-position: left top; background-repeat: repeat;" data-nl-format="datetime"><input type="checkbox" id="ch2" class="nl-dce-done" data-nl-checkboxbehavior="subscription" data-nl-bindto="service" onclick="Box2Function()" data-nl-servicename="SVC***" data-nl-servicelabel="Your Service Name 2" /> <span style="color: #0d0c0c;"><span style="color: #0d0c0c;">Blog<br style="font-size: 17px;" /></span></span></div>
<!-- List# -->
<div class="button"><a href="#" data-nl-type="action" data-nl-format="datetime" style="position: static; width: 100px; height: 50px; left: 0px; top: 0px; border-color: #ffffff; border-width: 0px; border-style: none; background-color: rgba(0, 0, 0, 0); background-position: left top; background-repeat: repeat;" data-nl-action="next">Update Preferences</a></div>

View solution in original post

3 Replies
johnwwilcoxmba
Correct answer by
Level 5
Level 5

Yes it is possible to build a preference center, but you have to fool the landing page a bit.  Create a service call ____Preference_Center.  In the landing page select options check preload visitor data, reconcile by email, filter email, update strategy "Update", then click specific service and enter your preference center service you created above.  Then copy the html into your landing page.  That should get you started.

 

<form name="Preference" class="form" method="POST" autocomplete="off" data-nl-format="datetime">
<div><label class="stacked required" id="HtmlPage_htmlPage.email" style="text-align: left;">Email</label> <input class="stacked nl-dce-done" type="email" id="email" name="email" data-nl-ismandatory="true" data-nl-label="Email" data-nl-xpath="/context/profile/email" data-nl-type="string" readonly="readonly" data-nl-bindto="xpath" data-nl-checkboxbehavior="subscription" style="position: static; width: 448px; height: 25px; left: 0px; top: 0px; border-color: #555555; border-width: 0px; border-style: none; background-color: #fafafa; background-position: left top; background-repeat: repeat;" /></div>
<!-- List1 -->
<p> </p>
<div style="position: static; width: 448px; height: 21px; left: 0px; top: 0px; border-color: #999999; border-width: 0px; border-style: none; background-color: rgba(0, 0, 0, 0); background-position: left top; background-repeat: repeat;" data-nl-format="datetime"><input type="checkbox" id="ch1" class="nl-dce-done" data-nl-checkboxbehavior="subscription" data-nl-bindto="service" onclick="Box1Function()" data-nl-servicename="SVC*****" data-nl-servicelabel="Your Service Name" /> <span style="color: #0d0c0c;"><span style="color: #0d0c0c;">Newsletter<br style="font-size: 17px;" /></span></span></div>
<!-- List2 -->
<div style="position: static; width: 448px; height: 21px; left: 0px; top: 0px; border-color: #999999; border-width: 0px; border-style: none; background-color: rgba(0, 0, 0, 0); background-position: left top; background-repeat: repeat;" data-nl-format="datetime"><input type="checkbox" id="ch2" class="nl-dce-done" data-nl-checkboxbehavior="subscription" data-nl-bindto="service" onclick="Box2Function()" data-nl-servicename="SVC***" data-nl-servicelabel="Your Service Name 2" /> <span style="color: #0d0c0c;"><span style="color: #0d0c0c;">Blog<br style="font-size: 17px;" /></span></span></div>
<!-- List# -->
<div class="button"><a href="#" data-nl-type="action" data-nl-format="datetime" style="position: static; width: 100px; height: 50px; left: 0px; top: 0px; border-color: #ffffff; border-width: 0px; border-style: none; background-color: rgba(0, 0, 0, 0); background-position: left top; background-repeat: repeat;" data-nl-action="next">Update Preferences</a></div>

View solution in original post

bobbyjss
Community Advisor
Community Advisor

Hi Julie,

 

It's certainly possible to build a preference center which allows individuals to directly edit their personal information, and any subscriptions.

 

Below is an example of the preference center I built within ACS. Happy to share more details or discuss if you think it would be useful.

 

pref-cent-ss.jpg

Sukrity_Wadhwa
Employee
Employee

Hi @juliemarks,

Were you able to resolve this query with any of the given solutions or do you still need more help here? Do let us know.

Thanks!