setono / sylius-google-ads-plugin
Sylius 的 Google Ads 插件。
v2.0.0
2024-09-17 07:04 UTC
Requires
- php: >=8.1
- brick/phonenumber: ^0.5.0
- doctrine/collections: ^1.6
- doctrine/dbal: ^2.13 || ^3.8
- doctrine/orm: ^2.7
- doctrine/persistence: ^1.3 || ^2.2 || ^3.2
- google/auth: ^1.26
- google/gax: ^1.19
- googleads/google-ads-php: ^24.0
- knplabs/knp-menu: ^3.1
- ocramius/doctrine-batch-utils: ^2.4
- psr/event-dispatcher: ^1.0
- psr/log: ^1.0 || ^2.0 || ^3.0
- setono/composite-compiler-pass: ^1.1
- setono/doctrine-orm-trait: ^1.0
- sylius/channel: ^1.0
- sylius/channel-bundle: ^1.0
- sylius/core: ^1.0
- sylius/core-bundle: ^1.0
- sylius/order: ^1.0
- sylius/resource-bundle: ^1.6
- sylius/ui-bundle: ^1.0
- symfony/config: ^6.4 || ^7.0
- symfony/console: ^6.4 || ^7.0
- symfony/dependency-injection: ^6.4 || ^7.0
- symfony/event-dispatcher: ^6.4 || ^7.0
- symfony/event-dispatcher-contracts: ^2.5 || ^3.3
- symfony/form: ^6.4 || ^7.0
- symfony/http-foundation: ^6.4 || ^7.0
- symfony/http-kernel: ^6.4 || ^7.0
- symfony/messenger: ^6.4 || ^7.0
- symfony/options-resolver: ^6.4 || ^7.0
- symfony/routing: ^6.4 || ^7.0
- symfony/string: ^6.4 || ^7.0
- symfony/validator: ^6.4 || ^7.0
- symfony/workflow: ^6.4 || ^7.0
- twig/twig: ^2.15 || ^3.4
- webmozart/assert: ^1.11
Requires (Dev)
- api-platform/core: ^2.7.18
- babdev/pagerfanta-bundle: ^3.8
- behat/behat: ^3.14
- doctrine/doctrine-bundle: ^2.10
- jms/serializer-bundle: ^4.2
- lexik/jwt-authentication-bundle: ^2.17
- matthiasnoback/symfony-config-test: ^4.3 || ^5.1
- phpunit/phpunit: ^9.6
- psalm/plugin-phpunit: ^0.18
- setono/client-bundle: ^1.0@beta
- setono/code-quality-pack: ^2.8.2
- shipmonk/composer-dependency-analyser: ^1.7
- sylius/sylius: ~1.12.19
- symfony/debug-bundle: ^6.4 || ^7.0
- symfony/dotenv: ^6.4 || ^7.0
- symfony/intl: ^6.4 || ^7.0
- symfony/serializer: ^6.4 || ^7.0
- symfony/web-profiler-bundle: ^6.4 || ^7.0
- symfony/webpack-encore-bundle: ^1.17
- weirdan/doctrine-psalm-plugin: ^2.9
- willdurand/negotiation: ^3.1
- 2.x-dev
- v2.0.0
- v2.0.0-beta.6
- v2.0.0-beta.5
- v2.0.0-beta.4
- v2.0.0-beta.3
- v2.0.0-beta.2
- v2.0.0-beta
- v2.0.0-alpha.13
- v2.0.0-alpha.11
- v2.0.0-alpha.10
- v2.0.0-alpha.9
- v2.0.0-alpha.8
- v2.0.0-alpha.6
- v2.0.0-alpha.5
- v2.0.0-alpha.4
- v2.0.0-alpha.3
- v2.0.0-alpha
- 1.x-dev
- v1.0.1
- v1.0.0
- v1.0.0-alpha.8
- v1.0.0-alpha.7
- v1.0.0-alpha.6
- v1.0.0-alpha.5
- v1.0.0-alpha.4
- v1.0.0-alpha.3
- v1.0.0-alpha.2
- v1.0.0-alpha
- v0.1.1
- v0.1.0
This package is auto-updated.
Last update: 2024-09-17 07:07:36 UTC
README
此插件跟踪 Sylius 商店的转换。它使用 Google Ads API 而不是默认的 JavaScript 跟踪来实现。这样做有几个好处
- 更容易控制特定用户的同意状态
- 更容易更改订单的实际价值
- 你的页面上没有用于跟踪 Google Ads 的 JavaScript,这意味着页面加载更快
- 你可以决定你的 cookie 的 ttl,而不是苹果和他们的 ITP
- 没有因广告拦截器而丢失跟踪的风险
安装
步骤 1: 安装 gRPC
此插件内部使用 google-ads-php。为了正确使用该库,建议安装 gRPC PHP 扩展。只需运行 pecl install grpc
并在 php.ini
中通过添加 extension=grpc.so
启用扩展即可。
步骤 2: 安装并启用插件
composer require setono/sylius-google-ads-plugin
在 config/bundles.php
中将捆绑包添加到 SyliusGridBundle
之前
<?php # config/bundles.php return [ // ... Setono\SyliusGoogleAdsPlugin\SetonoSyliusGoogleAdsPlugin::class => ['all' => true], // Added before the grid bundle Sylius\Bundle\GridBundle\SyliusGridBundle::class => ['all' => true], // ... ];
步骤 3: 添加配置
# config/packages/setono_sylius_google_ads.yaml imports: - "@SetonoSyliusGoogleAdsPlugin/Resources/config/app/config.yaml"
# config/routes/setono_sylius_google_ads.yaml setono_sylius_google_ads: resource: "@SetonoSyliusGoogleAdsPlugin/Resources/config/routes.yaml"
步骤 4: 创建迁移文件
php bin/console doctrine:migrations:diff php bin/console doctrine:migrations:migrate
步骤 5: 设置 cron 作业
第一个 cron 作业将处理 Google Ads 转换。定期运行此 cron 作业,例如每 5 分钟一次
php bin/console setono:sylius-google-ads:process-conversions
下一个 cron 作业将修剪转换表。根据需要运行此作业,可能是每天一次
php bin/console setono:sylius-google-ads:prune-conversions
步骤 6: 将 Messenger 命令映射到异步传输(可选,但推荐)
该插件使用 Symfony Messenger 发送消息(ProcessConversion
),这将触发转换的处理。如果您想异步执行此操作,可以在您的 messenger 配置中执行以下操作
framework: messenger: transports: async: '%env(MESSENGER_TRANSPORT_DSN)%' routing: 'Setono\SyliusGoogleAdsPlugin\Message\Command\CommandInterface': async
这会将实现该接口的所有消息映射到 async
传输。
现在插件已安装。请阅读下一节了解如何在您的商店中使用它。
用法
要开始使用此插件,请转到 https://your-domain.com/admin/google-ads 并按照说明操作。