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

feat: add support for getting anonymousId by note attributes array #3893

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from

Conversation

yashasvibajpai
Copy link
Contributor

@yashasvibajpai yashasvibajpai commented Nov 19, 2024

What are the changes introduced in this PR?

Adding support for setting the anonymousId for the webhook events received from Shopify Pixel App, using the note_attributes array property which is populated with the following data from the script loaded onto the Shopify store.
This value of anonymousId is from the cookies stored by Shopify on the store, which is essentially same as the value of clientId from the events received from the Web Pixel loaded onto the store.

What is the related Linear task?

Resolves INT-2943

Please explain the objectives of your changes below

Put down any required details on the broader aspect of your changes. If there are any dependent changes, mandatorily mention them here

Any changes to existing capabilities/behaviour, mention the reason & what are the changes ?

This getAnonymousIdFromAttributes function ensures that an anonymous ID is either retrieved from the event's note_attributes or generated based on the cart token if necessary.

Any new dependencies introduced with this change?

N/A

Any new generic utility introduced or modified. Please explain the changes.

N/A

Any technical or performance related pointers to consider with the change?

N/A

@coderabbitai review


Developer checklist

  • My code follows the style guidelines of this project

  • No breaking changes are being introduced.

  • All related docs linked with the PR?

  • All changes manually tested?

  • Any documentation changes needed with this change?

  • Is the PR limited to 10 file changes?

  • Is the PR limited to one linear task?

  • Are relevant unit and component test-cases added in new readability format?

Reviewer checklist

  • Is the type of change in the PR title appropriate as per the changes?

  • Verified that there are no credentials or confidential data exposed with the changes.

@devops-github-rudderstack
Copy link
Contributor

Copy link

codecov bot commented Nov 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 90.47%. Comparing base (275e971) to head (5f80756).
Report is 5 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #3893   +/-   ##
========================================
  Coverage    90.47%   90.47%           
========================================
  Files          615      615           
  Lines        32320    32329    +9     
  Branches      7677     7679    +2     
========================================
+ Hits         29242    29251    +9     
  Misses        2822     2822           
  Partials       256      256           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

* @param {Object} event
* @returns {String} anonymousId
*/
const getAnonymousIdFromAttributes = async (event) => {
Copy link
Member

Choose a reason for hiding this comment

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

Can we add unit test for this

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

Copy link

sonarcloud bot commented Nov 26, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
3 New Major Issues (required ≤ 1)
20 New Code Smells (required ≤ 1)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

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