Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions docs/markdown/snowplow_media_player_macro_docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,3 +196,11 @@ A macro that checks if at least one of the platform enabling variables is true a

{% endraw %}
{% enddocs %}

{% docs macro_play_time_secs_base_this_run %}
{% raw %}

A macro for users to optionally configure how the play_time_secs is calculated in the snowplow_media_player_base_this_run table. E.g. to avoid edge cases depending on tracking behaviour.

{% endraw %}
{% enddocs %}
3 changes: 3 additions & 0 deletions macros/macros.yml
Original file line number Diff line number Diff line change
Expand Up @@ -96,3 +96,6 @@ macros:

- name: config_check
description: '{{ doc("macro_config_check") }}'

- name: play_time_secs_base_this_run
description: '{{ doc("macro_play_time_secs_base_this_run") }}'
10 changes: 10 additions & 0 deletions macros/play_time_secs_base_this_run.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

{% macro play_time_secs_base_this_run() %}
{{ return(adapter.dispatch('play_time_secs_base_this_run', 'snowplow_media_player')()) }}
{% endmacro %}

{% macro default__play_time_secs_base_this_run() %}

coalesce(s.media_session_time_played, d.play_time_secs)

{% endmacro %}
Original file line number Diff line number Diff line change
Expand Up @@ -195,10 +195,6 @@ events_this_run as (

)

{% set play_time_secs -%}
coalesce(s.media_session_time_played, d.play_time_secs)
{%- endset %}

select
d.play_id,
pv.page_view_id,
Expand Down Expand Up @@ -235,7 +231,7 @@ select
) as avg_playback_rate,

-- time spent
{{ play_time_secs }} as play_time_secs,
{{ play_time_secs_base_this_run() }} as play_time_secs,
coalesce(s.media_session_time_played_muted, d.play_time_muted_secs) as play_time_muted_secs,
s.media_session_time_paused as paused_time_secs,
s.media_session_time_buffering as buffering_time_secs,
Expand All @@ -251,7 +247,7 @@ select
-- playback progress
d.plays > 0 as is_played,
case
when {{ play_time_secs }} > {{ var("snowplow__valid_play_sec") }} then true else
when {{ play_time_secs_base_this_run() }} > {{ var("snowplow__valid_play_sec") }} then true else
false
end as is_valid_play,
case
Expand Down