Skip to content

Commit

Permalink
Merge pull request #79 from OpenSourcePolitics/matomo_campaigns_data
Browse files Browse the repository at this point in the history
feat(campaigns) : adding matomo campaigns models
  • Loading branch information
JeanLouisLamezec authored Feb 19, 2025
2 parents ba4a400 + db19aba commit 44a550a
Show file tree
Hide file tree
Showing 5 changed files with 158 additions and 0 deletions.
5 changes: 5 additions & 0 deletions projects/demo/models/staging/matomo/schema.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,5 +89,10 @@ sources:
- name: page_titles
- name : users_city
- name : hourly_visits
- name : campaign_mediums
- name : campaign_names
- name : campaign_source_medium
- name : campaign_sources



Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{% set relation = adapter.get_relation(
database=target.database,
schema='matomo',
identifier='campaign_mediums'
) %}

{% if relation is not none %}
SELECT
label,
nb_uniq_visitors,
nb_visits,
nb_actions,
nb_users,
max_actions,
sum_visit_length,
bounce_count,
nb_visits_converted,
campaign_medium,
segment,
date
FROM {{ source('matomo', 'campaign_mediums') }}
{% else %}
SELECT
CAST(NULL AS TEXT) AS label,
CAST(NULL AS INTEGER) AS nb_uniq_visitors,
CAST(NULL AS INTEGER) AS nb_visits,
CAST(NULL AS INTEGER) AS nb_actions,
CAST(NULL AS INTEGER) AS nb_users,
CAST(NULL AS INTEGER) AS max_actions,
CAST(NULL AS INTEGER) AS sum_visit_length,
CAST(NULL AS INTEGER) AS bounce_count,
CAST(NULL AS INTEGER) AS nb_visits_converted,
CAST(NULL AS TEXT) AS campaign_medium,
CAST(NULL AS TEXT) AS segment,
CAST(NULL AS TIMESTAMP) AS date
LIMIT 0
{% endif %}
40 changes: 40 additions & 0 deletions projects/demo/models/staging/matomo/stg_matomo_campaign_names.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{% set relation = adapter.get_relation(
database=target.database,
schema='matomo',
identifier='campaign_names'
) %}

{% if relation is not none %}
SELECT
label,
nb_uniq_visitors,
nb_visits,
nb_actions,
nb_users,
max_actions,
sum_visit_length,
bounce_count,
nb_visits_converted,
campaign_name,
campaign_content,
segment,
date
FROM {{ source('matomo', 'campaign_names') }}
{% else %}
SELECT
CAST(NULL AS TEXT) AS label,
CAST(NULL AS INTEGER) AS nb_uniq_visitors,
CAST(NULL AS INTEGER) AS nb_visits,
CAST(NULL AS INTEGER) AS nb_actions,
CAST(NULL AS INTEGER) AS nb_users,
CAST(NULL AS INTEGER) AS max_actions,
CAST(NULL AS INTEGER) AS sum_visit_length,
CAST(NULL AS INTEGER) AS bounce_count,
CAST(NULL AS INTEGER) AS nb_visits_converted,
CAST(NULL AS TEXT) AS campaign_name,
CAST(NULL AS TEXT) AS campaign_content,
CAST(NULL AS TEXT) AS segment,
CAST(NULL AS TIMESTAMP) AS date
LIMIT 0
{% endif %}

Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{% set relation = adapter.get_relation(
database=target.database,
schema='matomo',
identifier='campaign_source_medium'
) %}

{% if relation is not none %}
SELECT
label,
nb_uniq_visitors,
nb_visits,
nb_actions,
nb_users,
max_actions,
sum_visit_length,
bounce_count,
nb_visits_converted,
campaign_name,
date,
campaign_source,
campaign_medium
FROM {{ source('matomo', 'campaign_source_medium') }}
{% else %}
SELECT
CAST(NULL AS TEXT) AS label,
CAST(NULL AS INTEGER) AS nb_uniq_visitors,
CAST(NULL AS INTEGER) AS nb_visits,
CAST(NULL AS INTEGER) AS nb_actions,
CAST(NULL AS INTEGER) AS nb_users,
CAST(NULL AS INTEGER) AS max_actions,
CAST(NULL AS INTEGER) AS sum_visit_length,
CAST(NULL AS INTEGER) AS bounce_count,
CAST(NULL AS INTEGER) AS nb_visits_converted,
CAST(NULL AS TEXT) AS campaign_name,
CAST(NULL AS TIMESTAMP) AS date,
CAST(NULL AS TEXT) AS campaign_source,
CAST(NULL AS TEXT) AS campaign_medium
LIMIT 0
{% endif %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{% set relation = adapter.get_relation(
database=target.database,
schema='matomo',
identifier='campaign_sources'
) %}

{% if relation is not none %}
SELECT
label,
nb_uniq_visitors,
nb_visits,
nb_actions,
nb_users,
max_actions,
sum_visit_length,
bounce_count,
nb_visits_converted,
campaign_source,
segment,
date
FROM {{ source('matomo', 'campaign_sources') }}
{% else %}
SELECT
CAST(NULL AS TEXT) AS label,
CAST(NULL AS INTEGER) AS nb_uniq_visitors,
CAST(NULL AS INTEGER) AS nb_visits,
CAST(NULL AS INTEGER) AS nb_actions,
CAST(NULL AS INTEGER) AS nb_users,
CAST(NULL AS INTEGER) AS max_actions,
CAST(NULL AS INTEGER) AS sum_visit_length,
CAST(NULL AS INTEGER) AS bounce_count,
CAST(NULL AS INTEGER) AS nb_visits_converted,
CAST(NULL AS TEXT) AS campaign_source,
CAST(NULL AS TEXT) AS segment,
CAST(NULL AS TIMESTAMP) AS date
LIMIT 0
{% endif %}

0 comments on commit 44a550a

Please sign in to comment.