Expand my Community achievements bar.

SOLVED

Preference center email frequency

Avatar

Level 5

HI

has anyone build a preference center with different email frequency setup? my requirements Is build a preference center where the users will be able to choose how frequently will receive emails? is this something build on campaign to just set the values?

Any help or example would be greatly appreciated

thanks

1 Accepted Solution

Avatar

Correct answer by
Employee

Hi vendimb15716755 ,

I'm not sure what your preference center is designed to do but I suspect, it is there to

1. Unsubscribe the recipient from a specific service like newsletter.

2. Blacklist them from Emails.

If option2 is correct, your PC should be marking the field @blacklist in Recipient schema to 1. If it is happening, all deliveries by default are designed to exclude such people. If the value is not getting set to 1, please check the PC logic to see if it is updating a different column or updating nothing. You might have to fix the target mapping blacklist logic to suit your needs.

If PC is designed for option 1, it will not mark a recipient as blacklist. they are not supposed to just receive a particular newsletter thats it. They should receive other emails.

At the time of targeting you should be adding a filtering condition that people who are subscribers of a service should only receive your email

Regards,
Vipul

View solution in original post

8 Replies

Avatar

Employee

Hi vendimb15716755 ,

You need to extend the recipient schema (v6) or Profile resource (ACS) and add a new field say EmailFrequency.

Then using Preference center, get the values updated for individual profile.

Then later you can use Pressure rules (v6) or Fatigue rules (ACS - build 10422 and above) to set up the frequency using this column.

Regards,
Vipul

Avatar

Level 5

Thanks Vipul for the quick response.

Once I extend the schema then in the preference center I use the javascript to update the field right?

//optin

if(ctx.vars.PREF=='IN'){

var recipient = <recipient _key="@id" id={ctx.recipient.@id}/>;

nms.subscription.Subscribe("outPromotional", recipient, false);

}

//Frequency

if(ctx.vars.PREF=='fre2'){

var recipient = <recipient _key="@id" id={ctx.recipient.@id}/>;

nms.recipients.emalFrequency("outPromotional", recipient, 2);

}

Avatar

Employee

Approach is write but I'm not sure if this syntax will work.

nms.recipients.emalFrequency("outPromotional", recipient, 2);

I normally suggest using xtk.session.Wrtie and then pass the recipient XML. I beleive you have created a new method called emailFrequency.

But the algorithm will remain the same as suggested here.

Avatar

Level 5

Thanks Vipul

I followed the session.Write  to update the flag.

I have a question in regards to the unsubscribe. if the user is unsubscribed why the delivery is still sending emails?  I used the unsubscribe method for the preference center so the recepient unsubscribe but when I send the delivery to that user still gets email.

do we need to specify somewhere on the delivery ?

thanks

Avatar

Correct answer by
Employee

Hi vendimb15716755 ,

I'm not sure what your preference center is designed to do but I suspect, it is there to

1. Unsubscribe the recipient from a specific service like newsletter.

2. Blacklist them from Emails.

If option2 is correct, your PC should be marking the field @blacklist in Recipient schema to 1. If it is happening, all deliveries by default are designed to exclude such people. If the value is not getting set to 1, please check the PC logic to see if it is updating a different column or updating nothing. You might have to fix the target mapping blacklist logic to suit your needs.

If PC is designed for option 1, it will not mark a recipient as blacklist. they are not supposed to just receive a particular newsletter thats it. They should receive other emails.

At the time of targeting you should be adding a filtering condition that people who are subscribers of a service should only receive your email

Regards,
Vipul

Avatar

Level 5

Thanks Vipul

this make it very clear. Appreciate your detailed explanations with this.

thanks

Avatar

Level 5

Hi Vipul

sorry I need to ask one more question. I have some different business rules and the client doesnt want us to add the fields on the Recipient . there will be different frequency of emails

1 per week

2 per month

2 per week

if I were to add a custom schema(table ) and join that by Recipient ID would it be possible to apply pressure rules by using this table as targeting dimension? does the join has to be on the Recipient extentention or on the custom table/schema?

thanks

Avatar

Level 5

I figure this out so I am good with original answer. Adding a join to the recipient with custom schema solve my problem