Skip to content

Conversation

@Artem-Maliuha
Copy link
Contributor

@Artem-Maliuha Artem-Maliuha commented Sep 16, 2025

SmartyTech Bid Adapter: Add userId and consent data support with chunking capability

Type of change

  • Updated bidder adapter
  • Code style update (formatting, local variables)

Summary

This PR enhances the SmartyTech Bid Adapter with comprehensive user identification and consent management support, along with the ability to control the number of ads per bid request through chunking functionality.

Changes Made

Core Features Added:

  • User ID Support: Added userIdAsEids transmission when available
  • GDPR Consent: Full GDPR consent string and additional consent support
  • CCPA/USP Consent: USP consent string transmission
  • COPPA Support: Children's Online Privacy Protection Act flag support
  • Request Chunking: Configurable chunking of bid requests to control the number of ads per request

Technical Implementation:

  • Enhanced buildRequests function to include all consent data types
  • Added chunking logic using the chunk library utility
  • Maintained backward compatibility with existing implementations
  • Added comprehensive test coverage for all new features

Files Modified:

  • modules/smartytechBidAdapter.js - Core adapter implementation
  • test/spec/modules/smartytechBidAdapter_spec.js - Test coverage

Configuration Options:

The adapter now supports a chunkSize configuration option:

pbjs.setConfig({
  smartytech: {
    chunkSize: 10 // Default chunk size for bid requests
  }
});

Documentation:

📚 Documentation has been updated: prebid.github.io PR #6259

The documentation includes:

  • User ID and consent support details
  • Configuration examples
  • Privacy compliance information
  • Chunking functionality explanation

Testing:

  • ✅ All existing tests pass
  • ✅ New test cases added for userId and consent data scenarios
  • ✅ Chunking functionality thoroughly tested
  • ✅ Backward compatibility verified

Compliance:

  • GDPR compliance through proper consent string handling
  • CCPA/USP compliance with USP consent transmission
  • COPPA compliance with configurable flag support

Breaking Changes:

None - all changes are backward compatible.

Release Notes:

This enhancement allows publishers to:

  1. Transmit user identification data for better targeting
  2. Comply with various privacy regulations (GDPR, CCPA, COPPA)
  3. Control the number of ads per bid request through chunking
  4. Maintain existing functionality without disruption

Related Documentation PR:

Labels:

  • feature - New functionality added
  • minor - SemVer minor version bump
  • smartytech - Adapter-specific changes

Code Quality:

  • Follows Prebid.js coding standards
  • Maintains backward compatibility
  • Comprehensive test coverage
  • Proper error handling
  • Clean, readable code structure

@github-actions
Copy link

Tread carefully! This PR adds 1 linter error (possibly disabled through directives):

  • modules/smartytechBidAdapter.js (+1 error)

@Artem-Maliuha Artem-Maliuha force-pushed the feature/smartytech-userid-consent-support branch from 0611e2e to 2bd2bc9 Compare September 22, 2025 11:20
@Artem-Maliuha
Copy link
Contributor Author

Tread carefully! This PR adds 1 linter error (possibly disabled through directives):

  • modules/smartytechBidAdapter.js (+1 error)

Fixed

… capability

- Add userIdAsEids transmission when available
- Add GDPR, CCPA/USP, and COPPA consent support
- Add configurable chunking of bid requests to control number of ads per request
- Maintain backward compatibility
- Add comprehensive test coverage for all new features

Results of gulp lint: ✅ No issues
Results of gulp test: ✅ All tests pass
@Artem-Maliuha Artem-Maliuha force-pushed the feature/smartytech-userid-consent-support branch from d195b91 to 5d04e19 Compare September 25, 2025 11:13
@Artem-Maliuha Artem-Maliuha marked this pull request as draft September 25, 2025 13:01
@Artem-Maliuha Artem-Maliuha marked this pull request as ready for review September 25, 2025 13:01
@Artem-Maliuha Artem-Maliuha force-pushed the feature/smartytech-userid-consent-support branch from a04b3b4 to 22e0343 Compare September 25, 2025 13:03
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.

1 participant