@jaimeflneto/n8n-nodes-google-ads-conversion
Version:
n8n node for tracking conversions in Google Ads with support for batch processing, enhanced conversions, and comprehensive privacy compliance
199 lines (157 loc) • 9.54 kB
Markdown
# Changelog
All notable changes to the Google Ads Conversion Node project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.8.1] - 2024-06-02
### Fixed
- Fixed 403 Forbidden errors by improving login-customer-id handling and validation
- Added validation checks for sanitized customer IDs to ensure proper authentication
- Enhanced error logging for authentication issues
## [0.8.0] - 2024-06-01
### Added
- Initial support for Google Ads API v17
- Enhanced error handling for API errors
- Added detailed logging for troubleshooting
## [0.7.7] - 2024-05-28
### Fixed
- Fixed 403 error issues
## [0.7.6] - 2024-05-27
### Fixed
- Fixed Google Ads API payload structure
- Removed partialFailurePolicy from JSON payload (not supported by API)
- Used partial_failure as query parameter instead
- Updated URL construction to include query parameters
- Resolved 400 error related to unknown field partialFailurePolicy
## [0.5.0] - 2024-05-30
### Added
#### Core Functionality
- **Google Ads Conversion Node**: Complete n8n node implementation for uploading conversion events to Google Ads API v14
- **OAuth2 Authentication**: Secure authentication using Google Ads OAuth2 with developer token support
- **Multiple Identification Methods**: Support for GCLID, Enhanced Conversions, GBRAID, and WBRAID identification
- **Conversion Parameters**: Comprehensive conversion data handling including value, currency, order ID, and timestamps
#### Batch Processing
- **High-Performance Batch Processing**: Process up to 2000 conversions per API call
- **Configurable Batch Modes**:
- Partial Failure (recommended): Continue processing successful conversions even if some fail
- Fail Fast: Stop on first error for immediate feedback
- Continue on Error: Process all batches regardless of individual failures
- **Progress Tracking**: Real-time batch processing progress monitoring
- **Smart Batch Sizing**: Automatic validation and adjustment of batch sizes (1-2000 range)
#### Enhanced Conversions & Privacy
- **Automatic Data Hashing**: SHA-256 hashing for user identifiers (email, phone, address data)
- **Privacy Compliance**: GDPR/EEA consent management with ad user data and personalization consent fields
- **Multiple User Identifiers**: Support for email, phone, names, and address information
- **Secure Data Handling**: No data persistence, automatic normalization and hashing
#### Error Handling & Reliability
- **Custom Error Classification**: Specialized error classes for authentication, validation, API, and rate limiting errors
- **Intelligent Retry Logic**: Exponential backoff with jitter for retryable errors
- **Comprehensive Error Reporting**: Detailed error messages with context and troubleshooting guidance
- **Rate Limit Handling**: Automatic retry with respect for Google Ads API rate limits
#### Debug & Validation Features
- **Debug Mode**: Comprehensive logging for request/response data, processing statistics, and error details
- **Validation Mode**: Test configurations without actually uploading data to Google Ads
- **Processing Timestamps**: Detailed timing information for performance monitoring
- **Authentication Validation**: Pre-execution credential and API connectivity testing
#### User Experience
- **Intuitive UI**: Well-organized parameter sections with helpful descriptions and hints
- **Validation Feedback**: Real-time parameter validation with specific error messages
- **Progress Indicators**: Batch processing progress with success/failure statistics
- **Comprehensive Documentation**: User guide, developer guide, and API reference
### Technical Implementation
#### Architecture
- **SOLID Principles**: Single responsibility, open/closed, and dependency inversion patterns
- **DRY Implementation**: Reusable utility functions and error handling systems
- **TypeScript**: Full TypeScript implementation with strict type checking
- **Memory Efficiency**: Streaming batch processing for large datasets
#### API Integration
- **Google Ads API v14**: Latest API version support with complete feature coverage
- **RESTful Communication**: HTTP/HTTPS API calls with proper header management
- **Token Management**: Automatic OAuth2 token handling and refresh
- **Response Parsing**: Comprehensive API response processing and error extraction
#### Testing & Quality Assurance
- **Automated Test Suite**: Comprehensive validation of node structure, credentials, and package configuration
- **Test Data**: Example test cases for all identification methods and scenarios
- **Code Validation**: ESLint and TypeScript compilation verification
- **Documentation Validation**: Automated checks for documentation completeness
### Configuration
#### Credentials
- **Developer Token**: Google Ads API developer token (required)
- **Customer ID**: Google Ads customer identifier (format: 123-456-7890)
- **OAuth2 Credentials**: Client ID and secret from Google Cloud Console
- **Automatic Token Refresh**: Seamless OAuth2 token renewal
#### Node Parameters
- **Operation Type**: Upload Click Conversion (extensible for future operations)
- **Conversion Data**: Action ID, date/time, value, currency, order ID
- **User Identification**: Method selection and identifier fields
- **Privacy Compliance**: Consent management fields for GDPR/EEA
- **Batch Processing**: Configuration for high-volume processing
- **Advanced Options**: Debug mode and validation-only testing
### Performance Metrics
#### Batch Processing Benefits
- **API Call Reduction**: Up to 2000x reduction in API calls for large datasets
- **Throughput Improvement**: Significant performance gains for bulk operations
- **Rate Limit Optimization**: Reduced exposure to API rate limiting
- **Resource Efficiency**: Better memory and network resource utilization
#### Error Recovery
- **Retry Success Rate**: Automatic recovery from transient network and server errors
- **Graceful Degradation**: Partial success processing with detailed error reporting
- **Fault Tolerance**: Continued operation despite individual conversion failures
### Security & Privacy
#### Data Protection
- **Zero Data Retention**: No conversion data stored or persisted
- **Secure Transmission**: HTTPS-only communication with Google Ads API
- **Credential Security**: OAuth2 with token-based authentication
- **Data Hashing**: Automatic SHA-256 hashing for user identifiers
#### Privacy Compliance
- **GDPR Support**: Comprehensive consent field handling for European users
- **Data Minimization**: Only required fields processed and transmitted
- **User Control**: Configurable consent levels for ad data usage
- **Audit Trail**: Comprehensive logging for compliance verification
### Documentation
#### User Documentation
- **Comprehensive User Guide**: Step-by-step setup and usage instructions
- **Usage Examples**: Real-world scenarios for all identification methods
- **Troubleshooting Guide**: Common issues and solutions
- **Best Practices**: Performance and security recommendations
#### Developer Documentation
- **Developer Guide**: Architecture overview and implementation details
- **API Reference**: Complete parameter and response documentation
- **Contributing Guidelines**: Development workflow and coding standards
- **Testing Instructions**: Test setup and validation procedures
### Distribution
#### Package Management
- **npm Package**: Ready for npm registry distribution
- **n8n Community Nodes**: Compatible with n8n community node system
- **Semantic Versioning**: Following SemVer for version management
- **Build System**: Automated build and packaging workflow
#### Installation Methods
- **npm Installation**: `npm install @jaimeflneto/n8n-nodes-google-ads-conversion`
- **Manual Installation**: Direct file placement in n8n custom nodes directory
- **Community Nodes**: Integration with n8n's community node registry
### Support & Maintenance
#### Community Support
- **GitHub Repository**: Open source with issue tracking and contributions
- **Documentation Website**: Comprehensive online documentation
- **n8n Community Forum**: Community support and discussions
- **Example Workflows**: Sample n8n workflows demonstrating usage
#### Future Roadmap
- **Additional Operations**: Support for other Google Ads API operations
- **Enhanced Analytics**: Conversion tracking analytics and reporting
- **Advanced Features**: Custom conversion models and attribution settings
- **Integration Improvements**: Enhanced n8n workflow integration features
## Future Versions
### Planned Features
- **Offline Conversion Support**: Support for offline conversion uploads
- **Conversion Import**: Bulk conversion import from files and databases
- **Analytics Integration**: Integration with Google Analytics for enhanced tracking
- **Custom Audiences**: Support for customer match and similar audiences
- **Advanced Attribution**: Custom attribution models and conversion paths
### API Updates
- **Google Ads API v15+**: Support for future API versions
- **New Identification Methods**: Support for emerging user identification standards
- **Enhanced Privacy Features**: Additional privacy and compliance features
- **Performance Optimizations**: Further batch processing and caching improvements
*For detailed technical information, see the [Developer Guide](docs/developer-guide.md)*
*For usage instructions, see the [User Guide](docs/user-guide.md)*