Skip to content

add compatibility to Adobe Client Data Layer extension in Adobe Tags while using run rule components in sequence enabled #159

@dagike

Description

@dagike

Expected Behaviour

while run rule component in sequense is enabled, pushing 2 or more events almost at the same time or close enough to each to the adobeDataLayer should send each individual event to AEP EDGE server

Actual Behaviour

while run rule component in sequense is enabled, if we push 2 or more events to the adobeDataLayer we would only get 1 server call with the merge of all the events and the next server request would not have any new information that was pushed

Reproduce Scenario (including but not limited to)

sending multiple events to

Steps to Reproduce

pushing 2 or more events in the same .push() results in this, it doesn't happen on the website, but it is the easiest way to reproduce

Platform and Version

Adobe Client Data Layer v2.0.3 extension

Sample Code that illustrates the problem

adobeDataLayer.push({
  'event': 'toolSubmit',
  'xdm': {
    'web': {
      'webInteraction': {
        '_customVariable': {
          'toolUsageSubmitted': 1,
          'toolName': 'toolName_first_beacon',
          'toolSelections': 'toolSelection_first_beacon',
          'formName': 'test_fornName_first_beacon'
        },
        'name': 'first_beacon_sent',
        'type': 'other',
        'URL': 'third_beacon_url'
      }
    }
  }
}, {
  'event': 'toolSubmit',
  'xdm': {
    'web': {
      'webInteraction': {
        '_customVariable': {
          'toolUsageSubmitted': 1,
          'toolName': 'toolName_second_beacon',
          'toolSelections': 'toolSelection_second_beacon',
          'eventDetails': 'test_second_eventDetails'
        },
        'name': 'second_beacon_sent',
        'type': 'other',
        'URL': 'third_beacon_url'
      }
    }
  }
}, {
  'event': 'toolSubmit',
  'xdm': {
    'web': {
      'webInteraction': {
        '_customVariable': {
          'toolUsageSubmitted': 1,
          'toolName': 'toolName_third_beacon',
          'toolSelections': 'toolSelection_third_beacon',
          'ssaName': 'test_third_beacon'
        },
        'name': 'third_beacon_sent',
        'type': 'other',
        'URL': 'third_beacon_url'
      }
    }
  }
})

after pushing the first beacon would look like this, all the different values from the previous 3 events and if the share the last one that was pushed would overwrite over this

eventDetails:"test_second_eventDetails"
formName:"test_fornName_first_beacon"
ssaName:"test_third_beacon"
toolName:"toolName_third_beacon"
toolSelections:"toolSelection_third_beacon"
toolUsageSubmitted:1
name:"third_beacon_sent"
type:"other"

after the first server call we would have 2 more server calls, the number of additional events, but with no new data

Logs taken while reproducing problem

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions