Skip to content
View as Markdown

CampaignUrlMetric Model

DB Table Name{wp_db_prefix}_fc_campaign_url_metrics
SchemaCheck Schema
Source Filefluent-crm/app/Models/CampaignUrlMetric.php
Name SpaceFluentCrm\App\Models
ClassFluentCrm\App\Models\CampaignUrlMetric

Attributes

AttributeData TypeComment
idInteger
url_idInteger
campaign_idInteger
subscriber_idInteger
typeString
ip_addressString
countryString
cityString
counterInteger
created_atDate Time
updated_atDate Time

Usage

Please check Model Basic for Common methods.

Accessing Attributes

php

$campaignUrlMatric = FluentCrm\App\Models\CampaignUrlMetric::find(1);

$subsctiber->id; // returns id
$campaignUrlMatric->type; // returns type
.......

Fillable Attributes

php

'url_id',
'campaign_id',
'subscriber_id',
'type', unsubscribe / click
'ip_address',
'country',
'city'

Relations

This model has the following relationships that you can use

campaign

Access the associated campaign of a model

  • return FluentCrm\App\Models\Campaign Model

Example:

php
// Accessing Campaign
$campaign = $metric->campaign;

// Get CampaignUrlMetrics which has type: funnel_email_campaign
$metrics = FluentCrm\App\Models\CampaignUrlMetric::whereHas('campaign', function($query) {
    $query->where('type', 'funnel_email_campaign');
})->get();

subscriber

Access the associated subscriber of a model

  • return FluentCrm\App\Models\Subscriber Model

Example:

php
// Accessing Subscriber
$subscriber = $metric->subscriber;

// Get CampaignUrlMetrics for a specific subscriber
$metrics = FluentCrm\App\Models\CampaignUrlMetric::whereHas('subscriber', function($query) {
    $query->where('first_name', 'Demo');
})->get();

url_stores

Access the associated URL store record

  • return FluentCrm\App\Models\UrlStores Model

Example:

php
// Accessing the original URL
$urlStore = $metric->url_stores;
$originalUrl = $urlStore->url;

Methods

Along with Global Model methods, this model has few helper methods.

maybeInsert($data)

Store or update campaign url matrix data

  • Parameters
    • $data array campaign url matrix data
  • Returns \FluentCrm\App\Models\CampaignUrlMetric

Usage

php
$campaignUrlMatric = CampaignUrlMatric::maybeInsert($data);

getLinksReport($campaign)

Get click-count-per-URL report for a campaign. Handles both standard and anonymous tracking modes.

  • Parameters
    • $campaign FluentCrm\App\Models\Campaign
  • Returns array

Usage

php
$linksReport = $metric->getLinksReport($campaign);

getCampaignAnalytics($campaign)

Get formatted campaign stats: opens, clicks, CTOR, unsubscribes, revenue

  • Parameters
    • $campaign FluentCrm\App\Models\Campaign
  • Returns array

Usage

php
$analytics = $metric->getCampaignAnalytics($campaign);

getSubjectStats($campaign)

Get per-subject A/B test analytics

  • Parameters
    • $campaign FluentCrm\App\Models\Campaign
  • Returns array

Usage

php
$stats = $metric->getSubjectStats($campaign);