Skip to content

Instantly share code, notes, and snippets.

@WesleyDRobinson
Last active January 16, 2020 18:31
Show Gist options
  • Save WesleyDRobinson/ac3f8b5d34b87400fe9c47d483111ff7 to your computer and use it in GitHub Desktop.
Save WesleyDRobinson/ac3f8b5d34b87400fe9c47d483111ff7 to your computer and use it in GitHub Desktop.
Optmizely Audiences

In our "Engineering" project, "Non-partner traffic" audience is not behaving how I would expect.

Trying to use the following logic:

Visitor does not match the following conditions: pathname String contains substring /partner/

And using the "exampleFeature" feature, "ON" and enabled for 100%, I would expect true flags where attributes is null or {} like so:

flag = optimizelyClientInstance.isFeatureEnabled(
      "exampleFeature",
      user,
      attributes
    )
[ { user: 'user458191463514', attributes: {}, flag: false },
  { user: 'user28575000765', attributes: { pathname: '/partner/' }, flag: false },
  { user: 'user9762227078477', attributes: { pathname: '/partner/' }, flag: false },
  { user: 'user7159445712782', attributes: {}, flag: false },
  { user: 'user9915179686274', attributes: {}, flag: false },
  { user: 'user266240444894', attributes: {}, flag: false },
  { user: 'user047664519122', attributes: {}, flag: false },
  { user: 'user825203588103', attributes: { pathname: '/partner/' }, flag: false },
  { user: 'user644987039778', attributes: {}, flag: false },
  { user: 'user960985980237', attributes: { pathname: '/partner/' }, flag: false },
  { user: 'user293170714853', attributes: { pathname: '/partner/' }, flag: false },
  { user: 'user0014760713804', attributes: {}, flag: false },
  { user: 'user04256341252', attributes: {}, flag: false },
  { user: 'user944527034358', attributes: {}, flag: false },
  { user: 'user932103924008', attributes: {}, flag: false },
  { user: 'user968927042659', attributes: { pathname: '/partner/' }, flag: false } ]

If I use a "pathname" "exists" logic, like audience "Excluding Partners and Agents," the flags appear as expected:

[ { user: 'user5542601306707', attributes: { pathname: '/partner/' }, flag: false },
  { user: 'user630323042864', attributes: {}, flag: true },
  { user: 'user55688867158', attributes: {}, flag: true },
  { user: 'user111081455832', attributes: {}, flag: true },
  { user: 'user454405862915', attributes: { pathname: '/partner/' }, flag: false },
  { user: 'user992632353922', attributes: {}, flag: true },
  { user: 'user497620013697', attributes: { pathname: '/partner/' }, flag: false },
  { user: 'user252296106628', attributes: {}, flag: true },
  { user: 'user0550314102426', attributes: {}, flag: true },
  { user: 'user474145505544', attributes: {}, flag: true },
  { user: 'user188794953822', attributes: {}, flag: true },
  { user: 'user560911411947', attributes: { pathname: '/partner/' }, flag: false },
  { user: 'user0722712889235', attributes: { pathname: '/partner/' }, flag: false },
  { user: 'user910215177939', attributes: { pathname: '/partner/' }, flag: false },
  { user: 'user959495592252', attributes: {}, flag: true },
  { user: 'user3224944119747', attributes: { pathname: '/partner/' }, flag: false } ]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment