PHP code example of setono / meta-conversions-api-bundle
1. Go to this page and download the library: Download setono/meta-conversions-api-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
setono / meta-conversions-api-bundle example snippets
declare(strict_types=1);
use Psr\EventDispatcher\EventDispatcherInterface;
use Setono\MetaConversionsApi\Event\Event;
use Setono\MetaConversionsApiBundle\Event\ConversionsApiEventRaised;
final class YourService
{
public function __construct(private readonly EventDispatcherInterface $eventDispatcher)
{
}
public function track(): void
{
$event = new Event(Event::EVENT_VIEW_CONTENT);
$event->customData->contentType = 'product';
$event->customData->contentName = 'Blue Jeans';
$event->customData->contentIds[] = 'PRODUCT_SKU';
$this->eventDispatcher->dispatch(new ConversionsApiEventRaised($event));
}
}
declare(strict_types=1);
namespace App\EventListener;
use Setono\MetaConversionsApiBundle\Event\ConversionsApiEventRaised;
use Symfony\Bundle\SecurityBundle\Security;
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
#[AsEventListener(priority: ConversionsApiEventRaised::PRIORITY_ENRICH)]
final class AddCustomerToConversionsApiEvent
{
public function __construct(private readonly Security $security)
{
}
public function __invoke(ConversionsApiEventRaised $event): void
{
$user = $this->security->getUser();
if (!$user instanceof User) {
return;
}
$userData = $event->event->userData;
$userData->email[] = $user->getEmail();
$userData->firstName[] = $user->getFirstName();
$userData->lastName[] = $user->getLastName();
$userData->externalId[] = (string) $user->getId();
}
}
$event = new Event(Event::EVENT_PURCHASE, Event::ACTION_SOURCE_SYSTEM_GENERATED);