adobe / adobe/adobe-client-data-layer
add compatibility to Adobe Client Data Layer extension in Adobe Tags while using run rule components in sequence enabled
- Dominant language
- JavaScript
- Stars
- 122
- Forks
- 28
- PR merge metrics
- No merged PRs in 30d
Description
### 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
Contributor guide
Assessment
This issue has not been assessed yet.