late-sdk 0.0.711 → 0.0.712
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/docs/AdDailyMetrics.md +10 -10
- data/docs/AdMetrics.md +10 -10
- data/docs/GetCampaignAnalytics200ResponseAnalyticsDailyInner.md +10 -10
- data/lib/zernio-sdk/models/ad_daily_metrics.rb +10 -10
- data/lib/zernio-sdk/models/ad_metrics.rb +10 -10
- data/lib/zernio-sdk/models/get_campaign_analytics200_response_analytics_daily_inner.rb +10 -10
- data/lib/zernio-sdk/version.rb +1 -1
- data/openapi.yaml +10 -10
- data/zernio-sdk-0.0.712.gem +0 -0
- metadata +3 -3
- data/zernio-sdk-0.0.711.gem +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2e2dede122bdc22380ddb34f95c88d683fb5293de67a7b1f103d172227d3d0a8
|
|
4
|
+
data.tar.gz: 5d62e5125f5b1e31caee6e2ba5d25eea8102e738ffa2e6a3acbd05f831435ac6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 27298a74f36d392ccd5ea40600ab1ddff6d7e61f9fd1c033ae7486b4f0b0e015854fe5bff5972c66b7dbcba5a57f4a532b7068f260d3204dc4e8318c5d4e8388
|
|
7
|
+
data.tar.gz: 35950d25ac955a78cb99a5c4d9c8e6e84ac353043cc01b76740f74b2d73cd1ce86b3982bcc28ca0c4e92c745a4aaf1855a590d1dd880ae995821265321c5a089
|
data/docs/AdDailyMetrics.md
CHANGED
|
@@ -18,16 +18,16 @@
|
|
|
18
18
|
| **action_values** | **Hash<String, Float>** | Monetary mirror of `actions`, from Meta's Insights `action_values[]` array. Same keying — values are the revenue attributed to each action_type, in ad-account native currency (same unit as `spend`; see the campaign node's `currency` field). Use this to compute revenue-per-event (e.g. avg purchase value). Meta-only; other platforms return {}. | [optional] |
|
|
19
19
|
| **purchase_value** | **Float** | Convenience sum of purchase-type action values — picked from `actionValues` via the same priority list as `conversions` so both fields describe the same events. In ad-account native currency. 0 when the campaign has no purchase event configured. Meta-only. | [optional] |
|
|
20
20
|
| **roas** | **Float** | Return on ad spend — derived as `purchaseValue / spend`. 0 when `spend` is 0. Equivalent to Meta's `purchase_roas` under default attribution. At ad-set and campaign levels this is recomputed from summed purchaseValue + spend (NOT averaged across children) so it's mathematically correct at every rollup level. | [optional] |
|
|
21
|
-
| **video_play_actions** | **Integer** |
|
|
22
|
-
| **video30_sec_watched_actions** | **Integer** | Views of at least 30 seconds (or to the end, for shorter videos). Meta `video_30_sec_watched_actions`
|
|
23
|
-
| **video_thruplay_watched_actions** | **Integer** | ThruPlays (watched to completion, or at least 15 seconds). Meta `video_thruplay_watched_actions`
|
|
24
|
-
| **video_p25_watched_actions** | **Integer** | Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Meta `video_p25_watched_actions`. | [optional] |
|
|
25
|
-
| **video_p50_watched_actions** | **Integer** | Views reaching 50% of the video's length. Meta `video_p50_watched_actions`. | [optional] |
|
|
26
|
-
| **video_p75_watched_actions** | **Integer** | Views reaching 75% of the video's length. Meta `video_p75_watched_actions`. | [optional] |
|
|
27
|
-
| **video_p95_watched_actions** | **Integer** | Views reaching 95% of the video's length. Meta `video_p95_watched_actions`
|
|
28
|
-
| **video_p100_watched_actions** | **Integer** | Views reaching 100% of the video's length. Meta `video_p100_watched_actions`. | [optional] |
|
|
29
|
-
| **video_avg_time_watched_actions** | **Float** | Average seconds watched per play
|
|
30
|
-
| **cost_per_thruplay** | **Float** | Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays. | [optional] |
|
|
21
|
+
| **video_play_actions** | **Integer** | Number of times the video started playing, summed over the date range and across children at ad-set/campaign level. 0 for non-video ads. Sources: Meta `video_play_actions`, TikTok `video_play_actions`. | [optional] |
|
|
22
|
+
| **video30_sec_watched_actions** | **Integer** | Views of at least 30 seconds (or to the end, for shorter videos). Sources: Meta `video_30_sec_watched_actions` (Meta only). | [optional] |
|
|
23
|
+
| **video_thruplay_watched_actions** | **Integer** | ThruPlays (watched to completion, or at least 15 seconds). Sources: Meta `video_thruplay_watched_actions` (Meta only). | [optional] |
|
|
24
|
+
| **video_p25_watched_actions** | **Integer** | Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Sources: Meta `video_p25_watched_actions`, TikTok `video_views_p25`. | [optional] |
|
|
25
|
+
| **video_p50_watched_actions** | **Integer** | Views reaching 50% of the video's length. Sources: Meta `video_p50_watched_actions`, TikTok `video_views_p50`. | [optional] |
|
|
26
|
+
| **video_p75_watched_actions** | **Integer** | Views reaching 75% of the video's length. Sources: Meta `video_p75_watched_actions`, TikTok `video_views_p75`. | [optional] |
|
|
27
|
+
| **video_p95_watched_actions** | **Integer** | Views reaching 95% of the video's length. Sources: Meta `video_p95_watched_actions` (Meta only). | [optional] |
|
|
28
|
+
| **video_p100_watched_actions** | **Integer** | Views reaching 100% of the video's length. Sources: Meta `video_p100_watched_actions`, TikTok `video_views_p100`. | [optional] |
|
|
29
|
+
| **video_avg_time_watched_actions** | **Float** | Average seconds watched per play. Aggregated over date ranges and across children as a play-weighted average (total watch time / total plays), never a plain average of averages. Sources: Meta `video_avg_time_watched_actions`, TikTok `average_video_play`. | [optional] |
|
|
30
|
+
| **cost_per_thruplay** | **Float** | Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays (ThruPlay is Meta-only). | [optional] |
|
|
31
31
|
| **funnel** | [**AdFunnelCounts**](AdFunnelCounts.md) | | [optional] |
|
|
32
32
|
| **engagement_breakdown** | [**AdEngagementCounts**](AdEngagementCounts.md) | | [optional] |
|
|
33
33
|
| **last_synced_at** | **Time** | Present on individual ads only, not on campaign aggregations | [optional] |
|
data/docs/AdMetrics.md
CHANGED
|
@@ -18,16 +18,16 @@
|
|
|
18
18
|
| **action_values** | **Hash<String, Float>** | Monetary mirror of `actions`, from Meta's Insights `action_values[]` array. Same keying — values are the revenue attributed to each action_type, in ad-account native currency (same unit as `spend`; see the campaign node's `currency` field). Use this to compute revenue-per-event (e.g. avg purchase value). Meta-only; other platforms return {}. | [optional] |
|
|
19
19
|
| **purchase_value** | **Float** | Convenience sum of purchase-type action values — picked from `actionValues` via the same priority list as `conversions` so both fields describe the same events. In ad-account native currency. 0 when the campaign has no purchase event configured. Meta-only. | [optional] |
|
|
20
20
|
| **roas** | **Float** | Return on ad spend — derived as `purchaseValue / spend`. 0 when `spend` is 0. Equivalent to Meta's `purchase_roas` under default attribution. At ad-set and campaign levels this is recomputed from summed purchaseValue + spend (NOT averaged across children) so it's mathematically correct at every rollup level. | [optional] |
|
|
21
|
-
| **video_play_actions** | **Integer** |
|
|
22
|
-
| **video30_sec_watched_actions** | **Integer** | Views of at least 30 seconds (or to the end, for shorter videos). Meta `video_30_sec_watched_actions`
|
|
23
|
-
| **video_thruplay_watched_actions** | **Integer** | ThruPlays (watched to completion, or at least 15 seconds). Meta `video_thruplay_watched_actions`
|
|
24
|
-
| **video_p25_watched_actions** | **Integer** | Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Meta `video_p25_watched_actions`. | [optional] |
|
|
25
|
-
| **video_p50_watched_actions** | **Integer** | Views reaching 50% of the video's length. Meta `video_p50_watched_actions`. | [optional] |
|
|
26
|
-
| **video_p75_watched_actions** | **Integer** | Views reaching 75% of the video's length. Meta `video_p75_watched_actions`. | [optional] |
|
|
27
|
-
| **video_p95_watched_actions** | **Integer** | Views reaching 95% of the video's length. Meta `video_p95_watched_actions`
|
|
28
|
-
| **video_p100_watched_actions** | **Integer** | Views reaching 100% of the video's length. Meta `video_p100_watched_actions`. | [optional] |
|
|
29
|
-
| **video_avg_time_watched_actions** | **Float** | Average seconds watched per play
|
|
30
|
-
| **cost_per_thruplay** | **Float** | Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays. | [optional] |
|
|
21
|
+
| **video_play_actions** | **Integer** | Number of times the video started playing, summed over the date range and across children at ad-set/campaign level. 0 for non-video ads. Sources: Meta `video_play_actions`, TikTok `video_play_actions`. | [optional] |
|
|
22
|
+
| **video30_sec_watched_actions** | **Integer** | Views of at least 30 seconds (or to the end, for shorter videos). Sources: Meta `video_30_sec_watched_actions` (Meta only). | [optional] |
|
|
23
|
+
| **video_thruplay_watched_actions** | **Integer** | ThruPlays (watched to completion, or at least 15 seconds). Sources: Meta `video_thruplay_watched_actions` (Meta only). | [optional] |
|
|
24
|
+
| **video_p25_watched_actions** | **Integer** | Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Sources: Meta `video_p25_watched_actions`, TikTok `video_views_p25`. | [optional] |
|
|
25
|
+
| **video_p50_watched_actions** | **Integer** | Views reaching 50% of the video's length. Sources: Meta `video_p50_watched_actions`, TikTok `video_views_p50`. | [optional] |
|
|
26
|
+
| **video_p75_watched_actions** | **Integer** | Views reaching 75% of the video's length. Sources: Meta `video_p75_watched_actions`, TikTok `video_views_p75`. | [optional] |
|
|
27
|
+
| **video_p95_watched_actions** | **Integer** | Views reaching 95% of the video's length. Sources: Meta `video_p95_watched_actions` (Meta only). | [optional] |
|
|
28
|
+
| **video_p100_watched_actions** | **Integer** | Views reaching 100% of the video's length. Sources: Meta `video_p100_watched_actions`, TikTok `video_views_p100`. | [optional] |
|
|
29
|
+
| **video_avg_time_watched_actions** | **Float** | Average seconds watched per play. Aggregated over date ranges and across children as a play-weighted average (total watch time / total plays), never a plain average of averages. Sources: Meta `video_avg_time_watched_actions`, TikTok `average_video_play`. | [optional] |
|
|
30
|
+
| **cost_per_thruplay** | **Float** | Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays (ThruPlay is Meta-only). | [optional] |
|
|
31
31
|
| **funnel** | [**AdFunnelCounts**](AdFunnelCounts.md) | | [optional] |
|
|
32
32
|
| **engagement_breakdown** | [**AdEngagementCounts**](AdEngagementCounts.md) | | [optional] |
|
|
33
33
|
| **last_synced_at** | **Time** | Present on individual ads only, not on campaign aggregations | [optional] |
|
|
@@ -18,16 +18,16 @@
|
|
|
18
18
|
| **action_values** | **Hash<String, Float>** | Monetary mirror of `actions`, from Meta's Insights `action_values[]` array. Same keying — values are the revenue attributed to each action_type, in ad-account native currency (same unit as `spend`; see the campaign node's `currency` field). Use this to compute revenue-per-event (e.g. avg purchase value). Meta-only; other platforms return {}. | [optional] |
|
|
19
19
|
| **purchase_value** | **Float** | Convenience sum of purchase-type action values — picked from `actionValues` via the same priority list as `conversions` so both fields describe the same events. In ad-account native currency. 0 when the campaign has no purchase event configured. Meta-only. | [optional] |
|
|
20
20
|
| **roas** | **Float** | Return on ad spend — derived as `purchaseValue / spend`. 0 when `spend` is 0. Equivalent to Meta's `purchase_roas` under default attribution. At ad-set and campaign levels this is recomputed from summed purchaseValue + spend (NOT averaged across children) so it's mathematically correct at every rollup level. | [optional] |
|
|
21
|
-
| **video_play_actions** | **Integer** |
|
|
22
|
-
| **video30_sec_watched_actions** | **Integer** | Views of at least 30 seconds (or to the end, for shorter videos). Meta `video_30_sec_watched_actions`
|
|
23
|
-
| **video_thruplay_watched_actions** | **Integer** | ThruPlays (watched to completion, or at least 15 seconds). Meta `video_thruplay_watched_actions`
|
|
24
|
-
| **video_p25_watched_actions** | **Integer** | Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Meta `video_p25_watched_actions`. | [optional] |
|
|
25
|
-
| **video_p50_watched_actions** | **Integer** | Views reaching 50% of the video's length. Meta `video_p50_watched_actions`. | [optional] |
|
|
26
|
-
| **video_p75_watched_actions** | **Integer** | Views reaching 75% of the video's length. Meta `video_p75_watched_actions`. | [optional] |
|
|
27
|
-
| **video_p95_watched_actions** | **Integer** | Views reaching 95% of the video's length. Meta `video_p95_watched_actions`
|
|
28
|
-
| **video_p100_watched_actions** | **Integer** | Views reaching 100% of the video's length. Meta `video_p100_watched_actions`. | [optional] |
|
|
29
|
-
| **video_avg_time_watched_actions** | **Float** | Average seconds watched per play
|
|
30
|
-
| **cost_per_thruplay** | **Float** | Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays. | [optional] |
|
|
21
|
+
| **video_play_actions** | **Integer** | Number of times the video started playing, summed over the date range and across children at ad-set/campaign level. 0 for non-video ads. Sources: Meta `video_play_actions`, TikTok `video_play_actions`. | [optional] |
|
|
22
|
+
| **video30_sec_watched_actions** | **Integer** | Views of at least 30 seconds (or to the end, for shorter videos). Sources: Meta `video_30_sec_watched_actions` (Meta only). | [optional] |
|
|
23
|
+
| **video_thruplay_watched_actions** | **Integer** | ThruPlays (watched to completion, or at least 15 seconds). Sources: Meta `video_thruplay_watched_actions` (Meta only). | [optional] |
|
|
24
|
+
| **video_p25_watched_actions** | **Integer** | Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Sources: Meta `video_p25_watched_actions`, TikTok `video_views_p25`. | [optional] |
|
|
25
|
+
| **video_p50_watched_actions** | **Integer** | Views reaching 50% of the video's length. Sources: Meta `video_p50_watched_actions`, TikTok `video_views_p50`. | [optional] |
|
|
26
|
+
| **video_p75_watched_actions** | **Integer** | Views reaching 75% of the video's length. Sources: Meta `video_p75_watched_actions`, TikTok `video_views_p75`. | [optional] |
|
|
27
|
+
| **video_p95_watched_actions** | **Integer** | Views reaching 95% of the video's length. Sources: Meta `video_p95_watched_actions` (Meta only). | [optional] |
|
|
28
|
+
| **video_p100_watched_actions** | **Integer** | Views reaching 100% of the video's length. Sources: Meta `video_p100_watched_actions`, TikTok `video_views_p100`. | [optional] |
|
|
29
|
+
| **video_avg_time_watched_actions** | **Float** | Average seconds watched per play. Aggregated over date ranges and across children as a play-weighted average (total watch time / total plays), never a plain average of averages. Sources: Meta `video_avg_time_watched_actions`, TikTok `average_video_play`. | [optional] |
|
|
30
|
+
| **cost_per_thruplay** | **Float** | Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays (ThruPlay is Meta-only). | [optional] |
|
|
31
31
|
| **funnel** | [**AdFunnelCounts**](AdFunnelCounts.md) | | [optional] |
|
|
32
32
|
| **engagement_breakdown** | [**AdEngagementCounts**](AdEngagementCounts.md) | | [optional] |
|
|
33
33
|
| **last_synced_at** | **Time** | Present on individual ads only, not on campaign aggregations | [optional] |
|
|
@@ -54,34 +54,34 @@ module Zernio
|
|
|
54
54
|
# Return on ad spend — derived as `purchaseValue / spend`. 0 when `spend` is 0. Equivalent to Meta's `purchase_roas` under default attribution. At ad-set and campaign levels this is recomputed from summed purchaseValue + spend (NOT averaged across children) so it's mathematically correct at every rollup level.
|
|
55
55
|
attr_accessor :roas
|
|
56
56
|
|
|
57
|
-
#
|
|
57
|
+
# Number of times the video started playing, summed over the date range and across children at ad-set/campaign level. 0 for non-video ads. Sources: Meta `video_play_actions`, TikTok `video_play_actions`.
|
|
58
58
|
attr_accessor :video_play_actions
|
|
59
59
|
|
|
60
|
-
# Views of at least 30 seconds (or to the end, for shorter videos). Meta `video_30_sec_watched_actions
|
|
60
|
+
# Views of at least 30 seconds (or to the end, for shorter videos). Sources: Meta `video_30_sec_watched_actions` (Meta only).
|
|
61
61
|
attr_accessor :video30_sec_watched_actions
|
|
62
62
|
|
|
63
|
-
# ThruPlays (watched to completion, or at least 15 seconds). Meta `video_thruplay_watched_actions
|
|
63
|
+
# ThruPlays (watched to completion, or at least 15 seconds). Sources: Meta `video_thruplay_watched_actions` (Meta only).
|
|
64
64
|
attr_accessor :video_thruplay_watched_actions
|
|
65
65
|
|
|
66
|
-
# Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Meta `video_p25_watched_actions`.
|
|
66
|
+
# Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Sources: Meta `video_p25_watched_actions`, TikTok `video_views_p25`.
|
|
67
67
|
attr_accessor :video_p25_watched_actions
|
|
68
68
|
|
|
69
|
-
# Views reaching 50% of the video's length. Meta `video_p50_watched_actions`.
|
|
69
|
+
# Views reaching 50% of the video's length. Sources: Meta `video_p50_watched_actions`, TikTok `video_views_p50`.
|
|
70
70
|
attr_accessor :video_p50_watched_actions
|
|
71
71
|
|
|
72
|
-
# Views reaching 75% of the video's length. Meta `video_p75_watched_actions`.
|
|
72
|
+
# Views reaching 75% of the video's length. Sources: Meta `video_p75_watched_actions`, TikTok `video_views_p75`.
|
|
73
73
|
attr_accessor :video_p75_watched_actions
|
|
74
74
|
|
|
75
|
-
# Views reaching 95% of the video's length. Meta `video_p95_watched_actions
|
|
75
|
+
# Views reaching 95% of the video's length. Sources: Meta `video_p95_watched_actions` (Meta only).
|
|
76
76
|
attr_accessor :video_p95_watched_actions
|
|
77
77
|
|
|
78
|
-
# Views reaching 100% of the video's length. Meta `video_p100_watched_actions`.
|
|
78
|
+
# Views reaching 100% of the video's length. Sources: Meta `video_p100_watched_actions`, TikTok `video_views_p100`.
|
|
79
79
|
attr_accessor :video_p100_watched_actions
|
|
80
80
|
|
|
81
|
-
# Average seconds watched per play
|
|
81
|
+
# Average seconds watched per play. Aggregated over date ranges and across children as a play-weighted average (total watch time / total plays), never a plain average of averages. Sources: Meta `video_avg_time_watched_actions`, TikTok `average_video_play`.
|
|
82
82
|
attr_accessor :video_avg_time_watched_actions
|
|
83
83
|
|
|
84
|
-
# Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays.
|
|
84
|
+
# Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays (ThruPlay is Meta-only).
|
|
85
85
|
attr_accessor :cost_per_thruplay
|
|
86
86
|
|
|
87
87
|
attr_accessor :funnel
|
|
@@ -53,34 +53,34 @@ module Zernio
|
|
|
53
53
|
# Return on ad spend — derived as `purchaseValue / spend`. 0 when `spend` is 0. Equivalent to Meta's `purchase_roas` under default attribution. At ad-set and campaign levels this is recomputed from summed purchaseValue + spend (NOT averaged across children) so it's mathematically correct at every rollup level.
|
|
54
54
|
attr_accessor :roas
|
|
55
55
|
|
|
56
|
-
#
|
|
56
|
+
# Number of times the video started playing, summed over the date range and across children at ad-set/campaign level. 0 for non-video ads. Sources: Meta `video_play_actions`, TikTok `video_play_actions`.
|
|
57
57
|
attr_accessor :video_play_actions
|
|
58
58
|
|
|
59
|
-
# Views of at least 30 seconds (or to the end, for shorter videos). Meta `video_30_sec_watched_actions
|
|
59
|
+
# Views of at least 30 seconds (or to the end, for shorter videos). Sources: Meta `video_30_sec_watched_actions` (Meta only).
|
|
60
60
|
attr_accessor :video30_sec_watched_actions
|
|
61
61
|
|
|
62
|
-
# ThruPlays (watched to completion, or at least 15 seconds). Meta `video_thruplay_watched_actions
|
|
62
|
+
# ThruPlays (watched to completion, or at least 15 seconds). Sources: Meta `video_thruplay_watched_actions` (Meta only).
|
|
63
63
|
attr_accessor :video_thruplay_watched_actions
|
|
64
64
|
|
|
65
|
-
# Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Meta `video_p25_watched_actions`.
|
|
65
|
+
# Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Sources: Meta `video_p25_watched_actions`, TikTok `video_views_p25`.
|
|
66
66
|
attr_accessor :video_p25_watched_actions
|
|
67
67
|
|
|
68
|
-
# Views reaching 50% of the video's length. Meta `video_p50_watched_actions`.
|
|
68
|
+
# Views reaching 50% of the video's length. Sources: Meta `video_p50_watched_actions`, TikTok `video_views_p50`.
|
|
69
69
|
attr_accessor :video_p50_watched_actions
|
|
70
70
|
|
|
71
|
-
# Views reaching 75% of the video's length. Meta `video_p75_watched_actions`.
|
|
71
|
+
# Views reaching 75% of the video's length. Sources: Meta `video_p75_watched_actions`, TikTok `video_views_p75`.
|
|
72
72
|
attr_accessor :video_p75_watched_actions
|
|
73
73
|
|
|
74
|
-
# Views reaching 95% of the video's length. Meta `video_p95_watched_actions
|
|
74
|
+
# Views reaching 95% of the video's length. Sources: Meta `video_p95_watched_actions` (Meta only).
|
|
75
75
|
attr_accessor :video_p95_watched_actions
|
|
76
76
|
|
|
77
|
-
# Views reaching 100% of the video's length. Meta `video_p100_watched_actions`.
|
|
77
|
+
# Views reaching 100% of the video's length. Sources: Meta `video_p100_watched_actions`, TikTok `video_views_p100`.
|
|
78
78
|
attr_accessor :video_p100_watched_actions
|
|
79
79
|
|
|
80
|
-
# Average seconds watched per play
|
|
80
|
+
# Average seconds watched per play. Aggregated over date ranges and across children as a play-weighted average (total watch time / total plays), never a plain average of averages. Sources: Meta `video_avg_time_watched_actions`, TikTok `average_video_play`.
|
|
81
81
|
attr_accessor :video_avg_time_watched_actions
|
|
82
82
|
|
|
83
|
-
# Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays.
|
|
83
|
+
# Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays (ThruPlay is Meta-only).
|
|
84
84
|
attr_accessor :cost_per_thruplay
|
|
85
85
|
|
|
86
86
|
attr_accessor :funnel
|
|
@@ -53,34 +53,34 @@ module Zernio
|
|
|
53
53
|
# Return on ad spend — derived as `purchaseValue / spend`. 0 when `spend` is 0. Equivalent to Meta's `purchase_roas` under default attribution. At ad-set and campaign levels this is recomputed from summed purchaseValue + spend (NOT averaged across children) so it's mathematically correct at every rollup level.
|
|
54
54
|
attr_accessor :roas
|
|
55
55
|
|
|
56
|
-
#
|
|
56
|
+
# Number of times the video started playing, summed over the date range and across children at ad-set/campaign level. 0 for non-video ads. Sources: Meta `video_play_actions`, TikTok `video_play_actions`.
|
|
57
57
|
attr_accessor :video_play_actions
|
|
58
58
|
|
|
59
|
-
# Views of at least 30 seconds (or to the end, for shorter videos). Meta `video_30_sec_watched_actions
|
|
59
|
+
# Views of at least 30 seconds (or to the end, for shorter videos). Sources: Meta `video_30_sec_watched_actions` (Meta only).
|
|
60
60
|
attr_accessor :video30_sec_watched_actions
|
|
61
61
|
|
|
62
|
-
# ThruPlays (watched to completion, or at least 15 seconds). Meta `video_thruplay_watched_actions
|
|
62
|
+
# ThruPlays (watched to completion, or at least 15 seconds). Sources: Meta `video_thruplay_watched_actions` (Meta only).
|
|
63
63
|
attr_accessor :video_thruplay_watched_actions
|
|
64
64
|
|
|
65
|
-
# Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Meta `video_p25_watched_actions`.
|
|
65
|
+
# Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Sources: Meta `video_p25_watched_actions`, TikTok `video_views_p25`.
|
|
66
66
|
attr_accessor :video_p25_watched_actions
|
|
67
67
|
|
|
68
|
-
# Views reaching 50% of the video's length. Meta `video_p50_watched_actions`.
|
|
68
|
+
# Views reaching 50% of the video's length. Sources: Meta `video_p50_watched_actions`, TikTok `video_views_p50`.
|
|
69
69
|
attr_accessor :video_p50_watched_actions
|
|
70
70
|
|
|
71
|
-
# Views reaching 75% of the video's length. Meta `video_p75_watched_actions`.
|
|
71
|
+
# Views reaching 75% of the video's length. Sources: Meta `video_p75_watched_actions`, TikTok `video_views_p75`.
|
|
72
72
|
attr_accessor :video_p75_watched_actions
|
|
73
73
|
|
|
74
|
-
# Views reaching 95% of the video's length. Meta `video_p95_watched_actions
|
|
74
|
+
# Views reaching 95% of the video's length. Sources: Meta `video_p95_watched_actions` (Meta only).
|
|
75
75
|
attr_accessor :video_p95_watched_actions
|
|
76
76
|
|
|
77
|
-
# Views reaching 100% of the video's length. Meta `video_p100_watched_actions`.
|
|
77
|
+
# Views reaching 100% of the video's length. Sources: Meta `video_p100_watched_actions`, TikTok `video_views_p100`.
|
|
78
78
|
attr_accessor :video_p100_watched_actions
|
|
79
79
|
|
|
80
|
-
# Average seconds watched per play
|
|
80
|
+
# Average seconds watched per play. Aggregated over date ranges and across children as a play-weighted average (total watch time / total plays), never a plain average of averages. Sources: Meta `video_avg_time_watched_actions`, TikTok `average_video_play`.
|
|
81
81
|
attr_accessor :video_avg_time_watched_actions
|
|
82
82
|
|
|
83
|
-
# Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays.
|
|
83
|
+
# Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays (ThruPlay is Meta-only).
|
|
84
84
|
attr_accessor :cost_per_thruplay
|
|
85
85
|
|
|
86
86
|
attr_accessor :funnel
|
data/lib/zernio-sdk/version.rb
CHANGED
data/openapi.yaml
CHANGED
|
@@ -6910,20 +6910,20 @@ components:
|
|
|
6910
6910
|
description: "Return on ad spend — derived as `purchaseValue / spend`. 0 when `spend` is 0. Equivalent to Meta's `purchase_roas` under default attribution. At ad-set and campaign levels this is recomputed from summed purchaseValue + spend (NOT averaged across children) so it's mathematically correct at every rollup level."
|
|
6911
6911
|
videoPlayActions:
|
|
6912
6912
|
type: integer
|
|
6913
|
-
description: "
|
|
6914
|
-
video30SecWatchedActions: { type: integer, description: "Views of at least 30 seconds (or to the end, for shorter videos). Meta `video_30_sec_watched_actions
|
|
6915
|
-
videoThruplayWatchedActions: { type: integer, description: "ThruPlays (watched to completion, or at least 15 seconds). Meta `video_thruplay_watched_actions
|
|
6916
|
-
videoP25WatchedActions: { type: integer, description: "Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Meta `video_p25_watched_actions`." }
|
|
6917
|
-
videoP50WatchedActions: { type: integer, description: "Views reaching 50% of the video's length. Meta `video_p50_watched_actions`." }
|
|
6918
|
-
videoP75WatchedActions: { type: integer, description: "Views reaching 75% of the video's length. Meta `video_p75_watched_actions`." }
|
|
6919
|
-
videoP95WatchedActions: { type: integer, description: "Views reaching 95% of the video's length. Meta `video_p95_watched_actions
|
|
6920
|
-
videoP100WatchedActions: { type: integer, description: "Views reaching 100% of the video's length. Meta `video_p100_watched_actions`." }
|
|
6913
|
+
description: "Number of times the video started playing, summed over the date range and across children at ad-set/campaign level. 0 for non-video ads. Sources: Meta `video_play_actions`, TikTok `video_play_actions`."
|
|
6914
|
+
video30SecWatchedActions: { type: integer, description: "Views of at least 30 seconds (or to the end, for shorter videos). Sources: Meta `video_30_sec_watched_actions` (Meta only)." }
|
|
6915
|
+
videoThruplayWatchedActions: { type: integer, description: "ThruPlays (watched to completion, or at least 15 seconds). Sources: Meta `video_thruplay_watched_actions` (Meta only)." }
|
|
6916
|
+
videoP25WatchedActions: { type: integer, description: "Views reaching 25% of the video's length. With the other percentile fields, powers hook/hold/drop-off analysis (e.g. hook rate = videoP25WatchedActions / videoPlayActions). Sources: Meta `video_p25_watched_actions`, TikTok `video_views_p25`." }
|
|
6917
|
+
videoP50WatchedActions: { type: integer, description: "Views reaching 50% of the video's length. Sources: Meta `video_p50_watched_actions`, TikTok `video_views_p50`." }
|
|
6918
|
+
videoP75WatchedActions: { type: integer, description: "Views reaching 75% of the video's length. Sources: Meta `video_p75_watched_actions`, TikTok `video_views_p75`." }
|
|
6919
|
+
videoP95WatchedActions: { type: integer, description: "Views reaching 95% of the video's length. Sources: Meta `video_p95_watched_actions` (Meta only)." }
|
|
6920
|
+
videoP100WatchedActions: { type: integer, description: "Views reaching 100% of the video's length. Sources: Meta `video_p100_watched_actions`, TikTok `video_views_p100`." }
|
|
6921
6921
|
videoAvgTimeWatchedActions:
|
|
6922
6922
|
type: number
|
|
6923
|
-
description: "Average seconds watched per play
|
|
6923
|
+
description: "Average seconds watched per play. Aggregated over date ranges and across children as a play-weighted average (total watch time / total plays), never a plain average of averages. Sources: Meta `video_avg_time_watched_actions`, TikTok `average_video_play`."
|
|
6924
6924
|
costPerThruplay:
|
|
6925
6925
|
type: number
|
|
6926
|
-
description: "Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays."
|
|
6926
|
+
description: "Derived `spend / videoThruplayWatchedActions`, in ad-account native currency. Rounded to 4 decimals rather than the usual 2 because a ThruPlay routinely costs well under a cent. 0 when the ad has no ThruPlays (ThruPlay is Meta-only)."
|
|
6927
6927
|
funnel:
|
|
6928
6928
|
$ref: '#/components/schemas/AdFunnelCounts'
|
|
6929
6929
|
engagementBreakdown:
|
|
Binary file
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: late-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.712
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenAPI-Generator
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-08-
|
|
11
|
+
date: 2026-08-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: typhoeus
|
|
@@ -5102,7 +5102,7 @@ files:
|
|
|
5102
5102
|
- spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
|
|
5103
5103
|
- spec/models/you_tube_video_retention_response_spec.rb
|
|
5104
5104
|
- spec/spec_helper.rb
|
|
5105
|
-
- zernio-sdk-0.0.
|
|
5105
|
+
- zernio-sdk-0.0.712.gem
|
|
5106
5106
|
- zernio-sdk.gemspec
|
|
5107
5107
|
homepage: https://openapi-generator.tech
|
|
5108
5108
|
licenses:
|
data/zernio-sdk-0.0.711.gem
DELETED
|
Binary file
|