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
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
Configuration is defined in capacitor
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.
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:
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 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
Attention: There may be limitation of just 1 Braze instance per enviroment as discussed here: https://rbidigital.slack.com/archives/C04TQFZ4A73/p1696543169788919
Option 3: Sync events between Brazes
Braze PLK ES and Braze BK ES
Checking feasibility with New Markets Setup team (Jamie McCallum)
Option 4: Propagate events through backend
This service provides an unified way to send events to mParticle. An SSM parameter is provided to publish the SQS URL a(and ARN) to send messages to.
Intl-whitelabel-app
intl-user-service
rbi-dev-plk-mparticle-events-queue
multiple mparticle instances in intl-mparticle-service
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 |
|
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 Braze
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 |
|
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
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 |
|
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: |
|
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 |
|
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
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: |
|
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 |
|
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
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 |
|
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 | Email and push subscription 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 push subscription status in Braze set to “Opted In” for PLK ES and “Unsubscribed” for BK ES and TH ES |
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
Opt-out during sign-up in another brand
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 |
The same guest signs up with the BK ES app and does not accept marketing communications from the sign in page | Email and Push subscription status in Braze set to “Unsubscribed” 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
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 subscription status in Braze set to “Unsubscribed” for PLK ES, BK ES and TH ES |
The same guest signs up with the BK 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 |
In principle, no impact. It should be covered with the sign-up flow. Tests are crucial here.
Re-subscribe
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 push subscription status in Braze set to “Opted In” for PLK ES and TH ES, but “Unsubscribed” for BK ES |
The same guest signs up with the BK 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 |
In principle, no impact. It should be covered with the sign-up flow. Tests are crucial here.
References:
/wiki/spaces/EGMT/pages/4151410932
/wiki/spaces/EGMT/pages/4016373809
https://docs.mparticle.com/integrations/braze/event/#user-attributes
0 Comments