Closed Bug 1581707 Opened 5 years ago Closed 5 years ago

Ensure SFMC db remains accurate when Signin is decoupled from Sync

Categories

(Firefox :: Firefox Accounts, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: rfkelly, Assigned: janet)

References

Details

As described in Bug 1570565, we're working to make it possible to sign in to Firefox without necessarily enabling Firefox Sync. Users will be able to opt-out of sync during the Firefox onboarding flow, and they may enable or disable Sync at a later time without re-authenticating to their account.

This will affect the integration between FxA and Basket/SFMC.

Basket currently reads "login" events from the FxA service notification stream and uses them to build up a picture of which users have used which FxA-attached services. We note that a user has used sync if we get a login event with a service=sync field, and we may adjust various email onboarding journeys depending on that flag.

In the decoupled world of Bug 1570565, that signal will become less reliable. It will miss users who opt out of sync during the initial signin to their account, but then enable it through native UI at some later point.

I'm not entirely sure what to do about this. We could try to add a new service notification for when the user enables/disables sync, but that feels pretty ad-hoc. We could try to import summarized per-service activity data like we're doing for CDP in Bug 1573359, which would be more accurate but incur a delay.

Lauren, thoughts? It will be good to refresh our collective memories on exactly what the requirements are here from SFMC's perspective.

Flags: needinfo?(lniolet)

This is a pickle. I think it's pretty vital from our POV to have the ability to talk to users about the service they are using and what they're not.

I will say that the goal is to get to the point where we rely entirely on the data in CDP. I'm unsure of how long the delay is in :1573359

I'm not getting much from the thread about timing, but what is happening in CDP would seem to address this.

Flags: needinfo?(lniolet) → needinfo?(rfkelly)
Flags: needinfo?(rfkelly)
Summary: Ensure SFMC db remains accurate when Signin is decouple from Sync → Ensure SFMC db remains accurate when Signin is decoupled from Sync

I will say that the goal is to get to the point where we rely entirely on the data in CDP. I'm unsure of how long the delay is in :1573359

From slack updates earlier today, it sounds like work is progressing on this front, so I'm actually quite hopeful that we'll be able to use that approach without any other code changes.

To close and QA this bug we'll need to:

  • Finish up the sync decouple infrastructure work in Bug 1577690.
  • Ensure that the CDP -> Salesforce import is working from Bug 1573359.
  • Do a manual QA loop where we:
    • Create a new account, signing in to Firefox but opting out of sync
    • Check in Saleforce that the new account shows up without the "sync" service (after some reasonable delay)
    • Enable sync for that user via native browser UI
    • Check in Saleforce that the account now has the "sync" service enabled (after some reasonable delay)
  • @nawong and @sdas

(In reply to Lauren Niolet from comment #1)

This is a pickle. I think it's pretty vital from our POV to have the ability to talk to users about the service they are using and what they're not.

I will say that the goal is to get to the point where we rely entirely on the data in CDP. I'm unsure of how long the delay is in :1573359

I'm not getting much from the thread about timing, but what is happening in CDP would seem to address this.

Lauren, as per 1573359, we're currently in progress of updating the CDP table with the necessary update. Please have a look at the bug for more information.

Once that's done, I would like to make sure that we go over the end to end testing for CDP, as I can see that it is now becoming critical for release 71 so you can do what you need to do to track the sync login events as needed.

Please let us know what we need to do on our side to make the testing work for you. I'd like all of us to feel confident that CDP is providing the correct data per your expectation.

Many thanks,
Josephine

Flags: needinfo?(lniolet)

(In reply to Ryan Kelly [:rfkelly] from comment #2)

I will say that the goal is to get to the point where we rely entirely on the data in CDP. I'm unsure of how long the delay is in :1573359

From slack updates earlier today, it sounds like work is progressing on this front, so I'm actually quite hopeful that we'll be able to use that approach without any other code changes.

To close and QA this bug we'll need to:

  • Finish up the sync decouple infrastructure work in Bug 1577690.
  • Ensure that the CDP -> Salesforce import is working from Bug 1573359.
  • Do a manual QA loop where we:
    • Create a new account, signing in to Firefox but opting out of sync
    • Check in Saleforce that the new account shows up without the "sync" service (after some reasonable delay)
    • Enable sync for that user via native browser UI
    • Check in Saleforce that the account now has the "sync" service enabled (after some reasonable delay)

Hi Ryan, if I understand correctly the following is where CDP fits into the manual QA loop:

  • Create a new account, signing in to Firefox but opting out of sync --> relevant fxa data goes to CDP
  • Check in Saleforce that the new account shows up without the "sync" service (after some reasonable delay) --> this can be done by Marketing querying the data in CDP (via BQ)
  • Enable sync for that user via native browser UI --> this is outside the scope of CDP
  • Check in Saleforce that the account now has the "sync" service enabled (after some reasonable delay) --> this can be done by Marketing querying the data in CDP (via BQ)

Ryan/Lauren, please let me know if my understanding of the above is correct.

Flags: needinfo?(rfkelly)

This sounds correct to me, thanks for laying it out explicitly.

Check in Saleforce that the new account shows up without the "sync" service (after some reasonable delay)

For completeness: without the "sync" service, but with a service called "Firefox".

Flags: needinfo?(rfkelly)

Andrew, tagging you on this bug in case you are impacted from this change that we're currently in progress of doing.

Flags: needinfo?(amorales)

So I think the simple question I have to make sure this is going to work for us is:

After the change, we'll get services that are both "Firefox" and we should also still get "Sync" as a service going straight to Salesforce Marketing Cloud?

Flags: needinfo?(lniolet) → needinfo?(rfkelly)

After the change, we'll get services that are both "Firefox"

In the CDP data you will see two separate services, "sync" and "firefox-desktop".

and we should also still get "Sync" as a service going straight to Salesforce Marketing Cloud?

You will still receive the live event stream from FxA about login events to the "sync" service (I believe these are received by basket over an SQS queue and inserted into SFMC as they come in).

I would not expect any events to come through this channel for the "firefox-desktop" service, although we might enable that in future.

Flags: needinfo?(rfkelly)

I'm sorry to be so dense, but as I understand it:

We'll still get Sync events in SFMC, but only when users opt into Sync. When someone signs into the browser without Sync that event will land in CDP, right, :rfkelly ?

Flags: needinfo?(rfkelly)

Working with Josephine.

  1. Created this user dragojevic.j+CDPtest@gmail.com and selected the "Don't sync this device" option.

  2. Josephine validate the data confirming service = firefox-desktop

Row fxa_id fxa_ts email service locale lang marketing_opt_in metrics_context country country_code newsletters_concat
1 | c8224b308f9b4850be77a3184f5b49ef | 2019-11-07 20:58:04 UTC | dragojevic.j+CDPtest@gmail.com | firefox-desktop | en-US,en;q=0.5 | en-US | false | https://accounts.firefox.com/?utm_term=trailhead-modal_variant_f&utm_campaign=firstrun-nightly&utm_source=activity-stream | United States | US

  1. Enabled Sync via about:preferences#sync

--- waiting for the 11/7 daily update of the daily_activity_with_service table for check of final result.

We'll still get Sync events in SFMC, but only when users opt into Sync.

Only when users opt in to sync as part of entering their credentials and connecting their browser to FxA.

(Sorry, just trying to spell it out with as many words as I can, I know we've had miscommunications in the past where "login" meant differeng things to different people :-)

If they are in an already-signed-in browser and go into the sync settings in their browser at some later time and enable sync in there, that event will not be visible in SFMC. But it will result in "sync" showing up in that user's summary service activity data in CDP.

When someone signs into the browser without Sync that event will land in CDP

Yes, with the caveat the CDP gets a daily aggregate summary, and so it may not have the precise timestamp of the event.

Flags: needinfo?(rfkelly)

Working with :josephine and :rfkelly we've confirmed that the expected events are being propagated to the CDP.

Assignee: nobody → jdragojevic

Blocking bug 1573359 is closed, and we've validated we're seeing the correct behavior on the CDP. :rfkelly - do you agree with closing this one too?

We have all the moving parts ready on the FxA side, but there may be some additional things we want to poke at on the SFMC side, so I'm going to bounce that question to Lauren. Lauren, do you have everything you need here, or is there more we should do?

Andrew, tagging you on this bug in case you are impacted from this change that we're currently in progress of doing.

We also didn't hear back from Andrew, but I'm going to take silence as assent unless I hear differently in this case :-)

Flags: needinfo?(lniolet)

I have one thing to check and I'm working on it this morning. Will advise.

Flags: needinfo?(lniolet)

Hi Ryan, apologies if I missed your request. I have read through the bug and dont see the specific question or ask on my end. Brynne Haack is responsible for Marketing Cloud as the admin but I will do my best to answer the question if you wouldnt mind posing it again.

As it relates to SalesCloud(CRM) we are planning on copying over "Service" from Marketing Cloud into CRM but we have some cleanup to do still. And we would capture it going forward once we turn on the FxA sync to CRM.

Flags: needinfo?(amorales)

Hi Ryan, apologies if I missed your request. I have read through the bug and dont see the specific question or ask on my end.
Brynne Haack is responsible for Marketing Cloud as the admin but I will do my best to answer the question if you wouldnt mind posing it again.

Sorry not to be clear; I believe you were ni?'d as a heads-up from Josephine in Comment 7, but I don't have any specific questions in mind.

Went through a few rounds of testing and validation with Josephine and Ryan Kelly. We verified that we're seeing the data we need to see in the CDP. Marking this as fixed.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.