185 lines
5.7 KiB
Markdown
185 lines
5.7 KiB
Markdown
# Informatiq Smart Google Pricing
|
||
|
||
A production-ready WooCommerce plugin that automatically adjusts sale prices based on Google Merchant Center competitor data.
|
||
|
||
## Description
|
||
|
||
This plugin connects to Google Merchant Center API to retrieve competitive pricing data and automatically updates your WooCommerce product prices to stay competitive while maintaining your desired profit margins.
|
||
|
||
## Features
|
||
|
||
- **Automated Daily Price Updates**: Schedule automatic price adjustments using WordPress cron
|
||
- **Google Merchant Center Integration**: Connects via Google Content API for Shopping
|
||
- **Tax-Aware Pricing**: Handles both tax-inclusive and tax-exclusive pricing configurations
|
||
- **Minimum Margin Protection**: Never sell below your cost + minimum margin
|
||
- **In-Stock Only Processing**: Only updates products that are currently in stock
|
||
- **Comprehensive Logging**: Track all price changes with detailed logs
|
||
- **Manual Sync**: Test and trigger price updates manually from the admin panel
|
||
- **WooCommerce Cost of Goods Support**: Uses product cost data for margin calculations
|
||
|
||
## Requirements
|
||
|
||
- WordPress 5.8 or higher
|
||
- WooCommerce 5.0 or higher
|
||
- PHP 7.4 or higher
|
||
- Google Merchant Center account
|
||
- Google Service Account with Content API access
|
||
|
||
## Installation
|
||
|
||
### Quick Install (Recommended)
|
||
|
||
1. Download the plugin with vendor libraries included (complete package)
|
||
2. Upload to `/wp-content/plugins/informatiq-smart-google-pricing/`
|
||
3. Activate the plugin through the 'Plugins' menu in WordPress
|
||
4. Configure settings under WooCommerce > Smart Pricing
|
||
|
||
### Manual Setup (If vendor directory is missing)
|
||
|
||
1. Upload the plugin files to `/wp-content/plugins/informatiq-smart-google-pricing/`
|
||
2. Set up Google API Client library (see `VENDOR-SETUP.md` for details):
|
||
- **Option A**: Run `composer install` in the plugin directory
|
||
- **Option B**: Manually download and extract Google API Client to `vendor/` directory
|
||
3. Activate the plugin through the 'Plugins' menu in WordPress
|
||
4. Configure settings under WooCommerce > Smart Pricing
|
||
|
||
The plugin includes a custom autoloader that works with manually included libraries, so Composer is not required for end users.
|
||
|
||
## Configuration
|
||
|
||
### Google Merchant Center Setup
|
||
|
||
1. Create a Google Cloud Project
|
||
2. Enable the Content API for Shopping
|
||
3. Create a Service Account and download the JSON key
|
||
4. Grant the service account access to your Merchant Center account
|
||
|
||
### Plugin Settings
|
||
|
||
1. Navigate to **WooCommerce > Smart Pricing**
|
||
2. Enter your Google Merchant ID
|
||
3. Paste your Service Account JSON key
|
||
4. Set your minimum profit margin percentage
|
||
5. Configure automation settings
|
||
6. Save settings and test the connection
|
||
|
||
## How It Works
|
||
|
||
1. **Daily Automation**: The plugin runs automatically based on your configured schedule
|
||
2. **Product Matching**: Matches WooCommerce products with Google Merchant Center via SKU/GTIN
|
||
3. **Competitive Analysis**: Retrieves the lowest competitor price from Google
|
||
4. **Price Calculation**:
|
||
- Calculates new price as: Competitor Price - Random Offset (0.05-0.20)
|
||
- Ensures price never goes below Cost + Minimum Margin
|
||
- Handles tax calculations based on WooCommerce settings
|
||
5. **Price Update**: Updates the product sale price in WooCommerce
|
||
6. **Logging**: Records all changes for auditing and review
|
||
|
||
## Tax Handling
|
||
|
||
The plugin intelligently handles both pricing configurations:
|
||
|
||
- **Prices Include Tax**: Sets sale price directly to match desired final price
|
||
- **Prices Exclude Tax**: Reverse-calculates base price to achieve desired final price after tax
|
||
|
||
## Minimum Margin Protection
|
||
|
||
The plugin ensures profitability by:
|
||
|
||
1. Checking product cost from WooCommerce Cost of Goods (`_wc_cog_cost` meta)
|
||
2. Falling back to regular price if cost is not set
|
||
3. Calculating minimum price as: `Cost × (1 + Minimum Margin %)`
|
||
4. Never setting prices below this minimum threshold
|
||
|
||
## Admin Interface
|
||
|
||
Access the admin panel at **WooCommerce > Smart Pricing** to:
|
||
|
||
- Configure Google API credentials
|
||
- Set pricing rules and margins
|
||
- Test API connection
|
||
- Run manual price syncs
|
||
- View sync schedule and status
|
||
- Review today's price updates
|
||
- Monitor logging and errors
|
||
|
||
## Logging
|
||
|
||
All price updates are logged with:
|
||
|
||
- Product ID and name
|
||
- Old and new prices
|
||
- Competitor price
|
||
- Timestamp
|
||
- Update message
|
||
|
||
Logs are stored in a custom database table and also written to WooCommerce logs for debugging.
|
||
|
||
## Cron Schedule
|
||
|
||
The plugin supports multiple update frequencies:
|
||
|
||
- Once daily (default)
|
||
- Twice daily (every 12 hours)
|
||
- Every 6 hours
|
||
|
||
## Development
|
||
|
||
### File Structure
|
||
|
||
```
|
||
informatiq-smart-google-pricing/
|
||
├── admin/
|
||
│ └── class-informatiq-sp-admin.php
|
||
├── assets/
|
||
│ ├── css/
|
||
│ │ └── admin.css
|
||
│ └── js/
|
||
│ └── admin.js
|
||
├── includes/
|
||
│ ├── class-informatiq-sp-google-api.php
|
||
│ ├── class-informatiq-sp-logger.php
|
||
│ ├── class-informatiq-sp-price-updater.php
|
||
│ └── class-informatiq-sp-scheduler.php
|
||
├── composer.json
|
||
├── informatiq-smart-google-pricing.php
|
||
├── README.md
|
||
└── uninstall.php
|
||
```
|
||
|
||
### Dependencies
|
||
|
||
The plugin uses Composer for dependency management:
|
||
|
||
```bash
|
||
composer install
|
||
```
|
||
|
||
Main dependencies:
|
||
- `google/apiclient`: ^2.15
|
||
|
||
## Support
|
||
|
||
For support and documentation, visit [informatiq.services](https://informatiq.services)
|
||
|
||
## Author
|
||
|
||
**Mălin Cenușă**
|
||
- Website: [malin.ro](https://malin.ro)
|
||
- Company: [informatiq.services](https://informatiq.services)
|
||
|
||
## License
|
||
|
||
GPL v2 or later
|
||
|
||
## Changelog
|
||
|
||
### 1.0.0
|
||
- Initial release
|
||
- Google Merchant Center integration
|
||
- Automated daily price updates
|
||
- Tax-aware pricing logic
|
||
- Minimum margin protection
|
||
- Comprehensive logging
|
||
- Admin interface with manual sync
|