Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added support for ECIDs passed via the adobe_mc query string parameter. Added appendIdentityToUrl command to enable cross-domain identity sharing. #862

Merged
merged 19 commits into from
May 12, 2022

Conversation

jonsnyder
Copy link
Contributor

Description

Support legacy solution for passing ECID via the query string parameter adobe_mc. https://experienceleague.adobe.com/docs/id-service/using/id-service-api/methods/appendvisitorid.html?lang=en

  • Query string param: "adobe_mc"
  • Format: pipe delimited key value pairs. (All the keys below are required, extra keys are ignored)
  • Key - TS: timestamp in seconds of query string parameter generation. TTL = 5 minutes
  • Key - MCORGID: the marketing cloud org id. The configured orgId must match.
  • Key - MCMID: the ECID in decimal.
  • Identity Map Namespace: "ECID"
  • Priority for namespace "ECID":
    • provided value in identityMap parameter of sendEvent
    • value from query string
    • value from AMCV cookie (if idMigrationEnabled and no Konductor identity cookie)
    • value from Visitor (if idMigrationEnabled and no Konductor identity cookie)

For the use case of navigating from one domain to another, the customer can use the "appendIdentityToUrl" command to generate the "adobe_mc" query string parameter. The command accepts an object with one property, "url", and returns an object with the property "url".
If consent has not been given, the url is returned unchanged. This command does not wait for consent.
If an ECID has not yet been established, "/acquire" endpoint will be hit to generate an ECID.

Added idOverwriteEnabled config to control whether the query string identity overwrites the cookie or not.

Related Issue

https://jira.corp.adobe.com/browse/PDCL-7572

Motivation and Context

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Improvement (non-breaking change which does not add functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • I have signed the Adobe Open Source CLA or I'm an Adobe employee.
  • I have made any necessary test changes and all tests pass.
  • I have run the Sandbox successfully.

@@ -14,7 +14,8 @@ import { boolean } from "../../utils/validation";

const configValidators = {
thirdPartyCookiesEnabled: boolean().default(true),
idMigrationEnabled: boolean().default(true)
idMigrationEnabled: boolean().default(true),
idOverwriteEnabled: boolean().default(true)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think true is the right default?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think false might be a safer bet since that’s how it behaves today in Visitor.js

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let’s ask Mitch though


const getDocumentCookie = ClientFunction(() => document.cookie);

test.skip("C5752639: Identity can be changed via the adobe_mc query string parameter when id_migration is enabled", async () => {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test still fails. Waiting on Konductor changes to work.

@jfkhoury jfkhoury requested review from jileeshs and liljenback May 11, 2022 21:09
@jonsnyder jonsnyder merged commit 42eac35 into main May 12, 2022
@jonsnyder jonsnyder deleted the queryStringIdentity2 branch May 12, 2022 22:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants