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

Open
#159 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.