PHPackages                             actengage/laravel-passendo - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. actengage/laravel-passendo

ActiveLibrary

actengage/laravel-passendo
==========================

A Passendo package for Laravel.

v0.6.0(1y ago)0494PHPPHP ^8.1

Since Apr 26Pushed 1y ago1 watchersCompare

[ Source](https://github.com/ActiveEngagement/laravel-passendo)[ Packagist](https://packagist.org/packages/actengage/laravel-passendo)[ RSS](/packages/actengage-laravel-passendo/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (4)Versions (15)Used By (0)

Passendo
========

[](#passendo)

[![PHP Composer](https://github.com/actengage/laravel-message-gears/workflows/PHP%20Composer/badge.svg)](https://github.com/actengage/laravel-message-gears/workflows/PHP%20Composer/badge.svg)

This is a Laravel package that makes tracking Passendo clicks easy. This package includes migrations, models, jobs, and the various handles to retry failed attempts.

```
composer require actengage/laravel-passendo

```

Basic Usage
-----------

[](#basic-usage)

The easiest way to use this package is to attach the trait to an Eloquent model. You must implement a `cpa()` and `tid()` method to fetch the CPA's and tracking ID's (respectively).

```
use Actengage\LaravelPassendo\Contracts\TrackPassendoClicks as TrackPassendoClicksInterface;
use Actengage\LaravelPassendo\TrackPassendoClicks;
use Illuminate\Database\Eloquent\Model;

class User extends Model implements TrackPassendoClicksInterface {

    use Optionable, TrackPassendoClicks;

    public function cpa(): float
    {
        return $this->options->get('cpa');
    }

    public function tid(): string
    {
        return $this->tracking_id;
    }

    public function shouldTrackPassendoClicks(): bool
    {
        return true;
    }
}
```

Use the `Click` model.
----------------------

[](#use-the-click-model)

You can also create `\Actengage\LaravelPassendo\Click` models just as any other Eloquent model. Give the `tracking_id` and `cpa` attributes a value, and the jobs will automatically dispatch.

```
use Actengage\LaravelPassendo\Click;

// Manually create a click model
$click = Click::create([
    'tracking_id' => 'test1',
    'cpa' => 1
]);
```

Polymorphic Relationships.
--------------------------

[](#polymorphic-relationships)

You may optionally associate a polymorphic relationship, which associates the click to a parent model.

```
$user = User::firstOrCreate([
    'email' => 'test@test.com'
]);

$click->parent()->associate($user);
```

Using the `TrackPassendoClicks` trait.
--------------------------------------

[](#using-the-trackpassendoclicks-trait)

If you are implementing the `\Actengage\LaravelPassendo\TrackPassendoClicks`trait, then you can use the `clicks()` helper to create and associate a model at once.

```
User::create()->clicks()->create([
    'tracking_id' => 'test2',
    'cpa' => 1
]);
```

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance33

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~90 days

Recently: every ~292 days

Total

14

Last Release

670d ago

PHP version history (3 changes)v0.1.0PHP ^7.0

v0.4.0PHP ^7.4|^8.0

v0.5.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/3751e573441701b44fab996c721a3249349c97f023d99986c2f6d646947727e5?d=identicon)[actengage](/maintainers/actengage)

---

Top Contributors

[![actengage](https://avatars.githubusercontent.com/u/33735047?v=4)](https://github.com/actengage "actengage (19 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/actengage-laravel-passendo/health.svg)

```
[![Health](https://phpackages.com/badges/actengage-laravel-passendo/health.svg)](https://phpackages.com/packages/actengage-laravel-passendo)
```

###  Alternatives

[vemcogroup/laravel-sparkpost-driver

SparkPost driver to use with Laravel 6.x|7.x|8.x|9.x|10.x

421.7M1](/packages/vemcogroup-laravel-sparkpost-driver)[scriptdevelop/whatsapp-manager

Paquete para manejo de WhatsApp Business API en Laravel

762.6k](/packages/scriptdevelop-whatsapp-manager)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
