fivetran / dbt_facebook_ads

Fivetran data models for Facebook Ads built using dbt.
https://fivetran.github.io/dbt_facebook_ads/
Apache License 2.0
24 stars 27 forks source link

[Feature] Add more metrics to the reports #24

Closed jurriaan closed 7 months ago

jurriaan commented 1 year ago

Is there an existing feature request for this?

Describe the Feature

When comparing the facebook ad report model to the dbt_tiktok_ads one it is clear that this package includes a lot less metrics:

See

https://github.com/fivetran/dbt_tiktok_ads/blob/e462a3274679dfb724a01a62bde80e5e38cc6f19/models/tiktok_ads__ad_report.sql#L57-L74

vs

https://github.com/fivetran/dbt_facebook_ads/blob/cd6876e430094c26110976109b75396ace514559/models/facebook_ads__ad_report.sql#L54-L56

There's a lot of data that's not aggregated, fields like reach and frequency are missing for example.

Is it possible to add those?

Describe alternatives you've considered

Since these sources are configurable, and can contain less or more metrics depending on how you configure them, it would also be a nice addition to have configuration options to add the needed fields.

Are you interested in contributing this feature?

Anything else?

No response

fivetran-joemarkiewicz commented 1 year ago

Hi @jurriaan are you planning to roll this report up with any others, or just use on it's own?

If you are planning to use the package on it's own, then you can actually add whichever metrics you want by leveraging the passthrough metrics variable! With this variable, you can add reach and frequency and see them populated in the facebook ads end models!

However, please be aware that these will not roll up in the final ad_reporting end models. We were unable to achieve this result as the metrics across platforms do not always match. Unlike spend, clicks, and impressions which are consistent across all platforms.

I hope this helps!

jurriaan commented 1 year ago

Hi @fivetran-joemarkiewicz, thanks for the quick response! Ideally we would have it aggregated in the final ad_reporting models, but for now I will just aggregate them myself since that's not supported.

The passthrough metics would work up to a point, since it only supports metrics that can be SUMed I think? (the transform is set to sum in the model. So metrics like frequency can't be added that way I guess?)

fivetran-joemarkiewicz commented 1 year ago

Hi @jurriaan you are correct that the metrics variable will only allow for sumed metrics. We could explore adding more functionality into the metrics variable to allow for different aggregations. Would that be something of interest to you?

Unfortunately, on the roll up piece I don't know if it would work at the package level to support metrics being rolled up across platforms. We found that metrics can very greatly (with the exception of the 3 already in the final report) and it could cause a lot of error points if we try to engineer the package to account for all of these possibilities.

With that, I would not say it is impossible! What I do see being a possibility is attempting to union the metrics across platforms, but this would probably results in null records being added for platforms that don't support the metrics being added. The tricky part would be finding metrics that match across platforms but are named slightly different 🤔

Igor-Kuzenkov commented 1 year ago

Hi @jurriaan,

... I will just aggregate them myself ...

Just want to know if you successfully calculated e.g. reach on your own based on the data that dbt_facebook_ads works with?

Sorry, if this is not the best thread to discuss it. However, I am also interested in other ads metrics like reach, results, etc. that are missing now in fivetran/ad_reporting package.

fivetran-joemarkiewicz commented 1 year ago

Hi @Igor-Kuzenkov since this comment was posted we have actually added the functionality into the ad reporting package to persist these passthrough columns into the final ad reporting models! You can see the details on how to achieve this here.

fivetran-jamie commented 7 months ago

gonna go ahead and close this out, but please reopen if the above solution doesn't work for y'all!