Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Architecture AS-IS

The following architecture uses PLK ES DEV and BK ES DEV as example, but it should be interpreted for whitelabel-app independently of market and environment setup.

...

Mapping of email and push attributes in whitelabel-app

  • If customer sets the mkt comms checkbox, the following should be set for all brands for the app country:

    • marketingEmail=true ( true/false) → aligned with Sanity

    • email_subscribe=opted_in ( unsubscribed / subscribed / opted_in ) → aligned with Braze

    • marketingPush=true ( true/false) → aligned with Sanity

    • push_subscribe=opted_in ( unsubscribed / subscribed / opted_in ) → aligned with Braze

Mapping of email and push attributes in database (dynamodb)

...

Does a customer who sign-up in PLK ES DEV get registered in BK ES DEV (dynamodb) too?

  • No.

What about other brands mParticle/Braze?

  • Yes.

Mapping of email and push attributes in mParticle

https://app.eu1.mparticle.com/

...

  • to check connection with another mParticle

    • https://dev-plk-es-whitelabel-cms.rbi.tools/desk/ctgConfigs;frontEndConfiguration

    • Image Removed

      Findings: Just changing this value is enough to point to another mParticle instance and propagate mParticle info → Braze.

      • Tests done in PLK ES DEV pointing to BK PT DEV / BK ES DEV

      • Way-forward option 1: Work with multiple instances:

        • Iberia: PLK ES and BK ES

        • currently mParticle init is just for one instance

      • Way-forward option 2: Propagate events from PLK ES mparticle instance to BK ES Braze (filtering events)

        • No impact on WL. Only mParticle configuration.

    • The above mParticle config is related to:

      • mParticle PLK ES DEV WEB.

    • In sanity, there is no config related to:

      • mParticle PLK ES DEV Android.

      • mParticle PLK ES DEV IOS.

    • Check if Android and IOS input config make sense

Mapping of email and push attributes in Braze

...

  • to check connection with another braze .

    • maybe it’s not being used since initialization doesn’t require an explicit API key ( reference ). Most probably it’s loading based on mParticle UI config.

    • Image Removed

Braze configuration

https://dashboard-02.braze.eu/

  • Per brand, country and environment:

...

  • Target audience based on brand, country and environment:

...

In Braze, it’s possible to create campaigns targetting the same customer (say raphaelg@ciandt.com) , but with different users in the platform:

Image Removed

Image Removed

However, this is not what we expect to have. Example of Expectation : Have a PLK ES customer userId in BK ES Braze.

Connection Mapping PLK ES DEV

...

Platform

...

mParticle Key (DEV) -

(eu1-df5f1ea3d94b4644aac0895306f38db0)

...

Braze API KEY (PLK_ES - Development )

...

web

...

****************************5780

...

d4c670dc-2ffb-40bb-a892-14f58e3f5780

...

Android

...

****************************3c67

...

IOS

...

****************************1ee5

...

7bc7c394-19c0-4612-bb60-dbd951c01ee5

Connection Mapping BK ES

...

Platform

...

mParticle Key (DEV)

(eu1-0c13f335900287438fd4103e7b18d850)

...

Braze API KEY (BK_ES - Development )

...

web

...

***************************278a

...

3e050cbf-2878-46ed-98c1-3365ea49278a

...

Android

...

****************************0fb6

...

IOS

...

****************************625e

...

5a0dd8b1-65a2-452a-9722-d8126f47625e

Solution Proposal*

*texts blue = impacts, text in red = no impact

Option 1 - Changing WL to forward Sign up complete/accepted agreement (mkt comms = true) events to another mParticle instance Brand and then to the corresponding Braze Brand

...

Option 2 - Configuring mParticle instances to forward filtered Sign up complete/accepted agreement (mkt comms = true) events to another braze brand

...

Sign up to a brand that uses the RBI app

With opt-in consent

...

Steps

...

Expected results

...

Guest signs up with the PLK ES app and accepts marketing communications from the sign in page

...

  • Guest account created in the RBI platform , mParticle and Braze for PLK ES

  • Account created in mParticle and Braze for BK ES

  • Email and Push subscription status set to “Opted In” on mParticle, Braze and the RBI platform for PLK ES and BK ES

  • User account created in Braze for TH ES with subscription status set to “Opted In”

  • Condition: marketing comms WL flags are true ( email and push attributes set to true)

    • Option 1: WL (PLK ES) needs to send the sign-up complete event (with mkt comms flags = true )for both mParticle instances PLK ES and BK ES. To do that, Sanity will need to have not only one field to store the mParticle instance, but a list. Then WL will fetch this list to propagate this event.

    • Option 2: PLK ES mParticle instance will also forward PLK ES sign-up complete event (with mkt comms flags = true ) events to BK ES

  • It will feed both Brazes (PLK ES and BK ES) with the same event data → PLK ES data (userId, …).

Without opt-in consent

...

Steps

...

Expected results

...

Guest signs up with the PLK ES app and does not accept marketing communications from the sign in page

...

  • Guest account created in the RBI platform, mParticle and Braze for PLK ES only

  • Email and Push subscription status set to “Unsubscribed” on PLK ES only

  • condition: marketing comms=false ( email and push attributes set to false)

  • There is no need to propagate this event to BK ES mParticle / Braze.

Sign-up to TH

  • Not applicable

Unsubscribe

From an email

Note

Need to look into how to disable push from the email link.

...

Steps

...

Expected results

...

Guest receives a marketing email from PLK ES and clicks the unsubscribe link

...

  • Email and push subscription status set to “Unsubscribed” on Braze for PLK ES and “Opted In” for all other brands

  • Communication preferences page on the RBI app is unchecked

  • In principle, no impact to notify other brand Braze, since the link is specific to unsubscribe one brand only.

From the RBI app

...

Steps

...

Expected results

...

Guest opens the communication preferences page on the PLK ES app and unchecks the “Email marketing communications & Push“ setting:

...

  • Email and Push subscription status set to “Unsubscribed” on Braze for PLK ES and “Opted In” for all other brands

  • Communication preferences page on the RBI app is unchecked

  • In principle, no impact to notify other brand Braze, since the app update comm. preferences update is specific to unsubscribe one brand only.

From the Admin Tool

...

Steps

...

Expected results

...

Support staff unsubscribes a guest from email and push communications on the PLK ES Admin Tool

...

  • Email and Push subscription status set to “Unsubscribed” on the RBI Platform, mParticle and Braze for PLK ES and “Opted In” for all other brands

  • Communication preferences page on the RBI app is unchecked

...

Support staff unsubscribes a guest from email or push notifications separately on the PLK ES Admin Tool

...

Not possible, since the PLK ES app does now show opt in status separately for email and push.

  • In principle, no impact

From Salesforce Service Cloud

Note

Item under discussion. As it stands, this is outside of RBI scope.

...

Steps

...

Expected results

...

Support staff unsubscribes a guest from email and push communications on Salesforce Service Cloud

...

Email and Push subscription status set to “Unsubscribed” on Braze for TH ES only and “Opted In” for all other brands

  • In principle, no impact

Subscribe

...

Steps

...

Expected results

...

Guest opens the communication preferences page on the PLK ES app and checks the “Email marketing communications & Push“ setting:

...

  • Email and Push subscription status set to “Opted In” on the RBI Platform, mParticle and Braze for PLK ES

  • Communication preferences page on the RBI app is checked

  • If accounts exist in mParticle and Brazer for any other brands, they remain unchanged

  • In principle, no impact

From the Admin Tool

...

Steps

...

Expected results

...

Support staff subscribes a guest to receive email and push communications on the PLK ES Admin Tool

...

  • Email and Push subscription status set to “Opted In” on the RBI Platform, mParticle and Braze for PLK ES

  • Communication preferences page on the RBI app is unchecked

  • If accounts exist in mParticle and Brazer for any other brands, they remain unchanged

...

Support staff subscribes a guest to receive email communications only on the PLK ES Admin Tool

...

Not possible, since the PLK ES app does now show opt in status separately for email and push.

  • In principle, no impact

From Salesforce Service Cloud

Note

Item under discussion. As it stands, this is outside of RBI scope.

...

Steps

...

Expected results

...

Support staff subscribes a guest from email and push communications on Salesforce Service Cloud

...

  • Email and Push subscription status set to “Opted In” on Braze for TH ES and “Unsubscribed” for all other brands

  • In principle, no impact

Terms and conditions

Opt-in during acceptance

...

Steps

...

Expected results

...

Guest signs up with the PLK ES app and accepts marketing communications from the sign in page

...

Email and Push subscription status in Braze set to “Opted In” for PLK ES, BK ES and TH ES

...

Guest receives a marketing email from BK ES and clicks the unsubscribe link

...

Guest receives a marketing email from TH ES and clicks the unsubscribe link

...

During a second login to the PLK ES app, guest is presented with updated T&C for acceptance. Guest accepts marketing communications

...

Email and Push subscription status in Braze set to “Opted In” for PLK ES, BK ES and TH ES

Impact in “Accepted updated agreement” event flow.

  • It should propagate the accepted updated agreement event with the mkt comms flags as true for all configured Brazes.

5.2. Opt-out during acceptance

...

Steps

...

Expected results

...

Guest signs up with the PLK ES app and accepts marketing communications from the sign in page

...

Email and Push subscription status in Braze set to “Opted In” for PLK ES, BK ES and TH ES

...

During a second login to the PLK ES app, guest is presented with updated T&C for acceptance. Guest does not accept marketing communications

...

Email and Push subscription status in Braze set to “Unsubscribed” for PLK ES, BK ES and TH ES

N/A scenario - T&C doesn’t provide the possibility for a guest opt-out, if he/she already opted-in.

Edge Cases

...

Architecture AS-IS

The following architecture uses PLK ES DEV and BK ES DEV as reference, but it should be interpreted for whitelabel-app independently of market and environment setup.

Lucidchart
pageCount3
autoUpdatefalse
alignleft
typerich
autoSize1
macroId47e2a714-4a4e-489b-8a01-3f48fc9286c7
instanceId920ae5b1-83d6-3e36-b794-1710780f64f3
pages
width700
documentTokenv2_f503d6558fc1b1d92ba47bf844f380f3e7332850545f010bef31f156c450e27a-a=133831322&c=920ae5b1-83d6-3e36-b794-1710780f64f3&d=8ba6dd6f-1b71-4953-8716-1d96c686bdbd&p=4278321782
documentId8ba6dd6f-1b71-4953-8716-1d96c686bdbd
updated1696535506739
height500

Lucidchart
pageCount1
autoUpdatefalse
alignleft
typerich
autoSize1
macroId8c9baa2c-c6aa-4c18-801b-0e1f77ccbc73
instanceId920ae5b1-83d6-3e36-b794-1710780f64f3
pages
width700
documentTokenv2_342cef40cef704937d2bccd3f7ac5dc5b3d178b8646bb2133a21d25ea5924223-a=133831322&c=920ae5b1-83d6-3e36-b794-1710780f64f3&d=88b340c6-96f0-49d2-ae2b-ae8738f2cf0c&p=4151410932
documentId88b340c6-96f0-49d2-ae2b-ae8738f2cf0c
updated1690902653930
height500

Mapping of email and push attributes in whitelabel-app

  • If customer sets the mkt comms checkbox, the following should be set for all brands for the app country:

    • marketingEmail=true ( true/false) → aligned with Sanity

    • email_subscribe=opted_in ( unsubscribed / subscribed / opted_in ) → aligned with Braze

    • marketingPush=true ( true/false) → aligned with Sanity

    • push_subscribe=opted_in ( unsubscribed / subscribed / opted_in ) → aligned with Braze

Mapping of email and push attributes in database (dynamodb)

...

Does a customer who sign-up in PLK ES DEV get registered in BK ES DEV (dynamodb) too?

  • No.

What about other brands mParticle/Braze?

  • Yes.

Mapping of email and push attributes in mParticle

https://app.eu1.mparticle.com/

...

  • to check connection with another mParticle

    • https://dev-plk-es-whitelabel-cms.rbi.tools/desk/ctgConfigs;frontEndConfiguration

    • Image Added

      Findings: Just changing this value is enough to point to another mParticle instance and propagate mParticle info → Braze.

      • Tests done in PLK ES DEV pointing to BK PT DEV / BK ES DEV

      • Way-forward option 1: Work with multiple instances:

        • Iberia: PLK ES and BK ES

        • currently mParticle init is just for one instance

      • Way-forward option 2: Propagate events from PLK ES mparticle instance to BK ES Braze (filtering events)

        • No impact on WL. Only mParticle configuration.

    • The above mParticle config is related to:

      • mParticle PLK ES DEV WEB.

    • In sanity, there is no config related to:

      • mParticle PLK ES DEV Android.

      • mParticle PLK ES DEV IOS.

    • Check if Android and IOS input config make sense

Mapping of email and push attributes in Braze

...

  • to check connection with another braze .

    • maybe it’s not being used since initialization doesn’t require an explicit API key ( reference ). Most probably it’s loading based on mParticle UI config.

    • Image Added

Braze configuration

https://dashboard-02.braze.eu/

  • Per brand, country and environment:

...

  • Target audience based on brand, country and environment:

...

In Braze, it’s possible to create campaigns targetting the same customer (say raphaelg@ciandt.com) , but with different users in the platform:

Image Added

Image Added

However, this is not what we expect to have. Example of Expectation : Have a PLK ES customer userId in BK ES Braze.

Connection Mapping PLK ES DEV

Platform

mParticle Key (DEV) -

(eu1-df5f1ea3d94b4644aac0895306f38db0)

Braze API KEY (PLK_ES - Development )

web

****************************5780

d4c670dc-2ffb-40bb-a892-14f58e3f5780

Android

****************************3c67

e61cea8a-1678-41ed-b240-a8a0610a3c67

IOS

****************************1ee5

7bc7c394-19c0-4612-bb60-dbd951c01ee5

Connection Mapping BK ES

Platform

mParticle Key (DEV)

(eu1-0c13f335900287438fd4103e7b18d850)

Braze API KEY (BK_ES - Development )

web

***************************278a

3e050cbf-2878-46ed-98c1-3365ea49278a

Android

****************************0fb6

3194745e-0038-449f-910a-170231fa0fb6

IOS

****************************625e

5a0dd8b1-65a2-452a-9722-d8126f47625e

Solution Proposals

Option 1 - Changing WL to forward Sign up complete/accepted agreement (mkt comms = true) events to another mParticle instance Brand and then to the corresponding Braze Brand

...

Option 2 - Configuring mParticle instances to forward filtered Sign up complete/accepted agreement (mkt comms = true) events to another braze brand

Attention: There may be limitation of just 1 Braze instance per enviroment as discussed here: https://rbidigital.slack.com/archives/C04TQFZ4A73/p1696543169788919

...

Image Added

Option 3: Sync events between Brazes

Braze PLK ES and Braze BK ES

  • Image Added

    Checking feasibility with New Markets Setup team :

    • “As far as I'm lead to believe, each market and each environment has their own braze workspace.”

Option 4: Propagate events through backend

...

Read it in intl-packages when logging the crm event into the queue(s).

Discussion: https://rbidigital.slack.com/archives/C04FJ3LUNP4/p1697673525644479

Sign up to a brand that uses the RBI app

With opt-in consent

Steps

Expected results

Guest signs up with the PLK ES app and accepts marketing communications from

the sign in page

the sign in page

  • Guest account created in the RBI platform , mParticle and Braze for PLK ES

  • Account created in mParticle and Braze for BK ES

  • Email and Push subscription status

in Braze
  • set to “Opted In” on mParticle, Braze and the RBI platform for PLK ES

,
  • and BK ES

and TH ESThe same guest
  • User account created in Braze for TH ES with subscription status set to “Opted In”

  • Condition:

    • Sign-up complete event

    • marketing comms WL mkt comms flags are set as opted_in

Terms and conditions

Opt-in during acceptance

Steps

Expected results

Guest signs up with the

BK

PLK ES app and

does not accept

accepts marketing communications from the sign in page

Email and Push subscription status in Braze set to

“Unsubscribed”

Steps

Expected results

Guest signs up with the PLK ES app and does not accept marketing communications from the sign in page

Email and Push

“Opted In” for PLK ES, BK ES and TH ES

  • In principle, no impact. It should be covered with the sign-up flow. Tests are crucial here.

Opt-in during sign-up in another brand

Guest receives a marketing email from BK ES and clicks the unsubscribe link

Email and pushsubscription status in Braze set to “Opted In” for PLK ES and TH ES, but “Unsubscribed” for BK ES

Guest receives a marketing email from TH ES and clicks the unsubscribe link

Email and pushsubscription status in Braze set to

“Unsubscribed”

“Opted In” for PLK ES

,

and “Unsubscribed” for BK ES and TH ES

The same guest signs up with the BK ES app and accepts marketing communications from the sign in page

During a second login to the PLK ES app, guest is presented with updated T&C for acceptance. Guest accepts marketing communications

Email and Push subscription status in Braze set to “Opted In” for PLK ES, BK ES

and TH ES
  • In principle, no impact. It should be covered with the sign-up flow. Tests are crucial here.

...

and TH ES

Condition:

  • T&C update agreement modal

  • marketing comms WL mkt comms flags are set as opted_in

5.2. Opt-out during acceptance

Steps

Expected results

Guest signs up with the PLK ES app and accepts marketing communications from the sign in page

Email and Push subscription status in Braze set to “Opted In” for PLK ES, BK ES and TH ES

Guest receives a marketing email from BK ES and clicks the unsubscribe link

Email and pushsubscription status in Braze set to “Opted In” for PLK ES and TH ES, but “Unsubscribed” for BK ESThe same guest signs up with the BK ES app and accepts marketing communications from the sign in page

During a second login to the PLK ES app, guest is presented with updated T&C for acceptance. Guest does not accept marketing communications

Email and Push subscription status in Braze set to

“Opted In”

“Unsubscribed” for PLK ES, BK ES and TH ES

...

N/A scenario - T&C doesn’t provide the possibility for a guest opt-out, if he/she already opted-in.

All other scenarios described in Cross-Brand Opt-In are not applicable

References:

/wiki/spaces/EGMT/pages/4151410932

Feature - Push notifications

/wiki/spaces/EGMT/pages/4016373809

...