Skip to content

Commit 21c6119

Browse files
decision log
1 parent 375b6f2 commit 21c6119

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

DECISIONLOG.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
# Decision Log (notes/draft)
1+
# Decision Log
22

33
In creating this package, which is meant for a wide range of use cases, we had to take opinionated stances on a few different questions we came across during development. We've consolidated significant choices we made here, and will continue to update as the package evolves.
44

55
## Using the Campaign and Flow IDs From the Klaviyo package's attribution model
66
We chose to build off of the layer of attribution occurring in the Klaviyo-only dbt package. This means that we refer to `last_touch_campaign_id` and `last_touch_flow_id` (a coalescing of the Klaviyo-provided `campaign_id`/`flow_id` and those attributed by the package itself) when attributing Shopify orders to Klaviyo campaigns and flows.
77
## Last Touch Attribution
8-
This package performs last-touch attribution only, in line with Klaviyo's internal attribution model. It would've been fairly straightforward to also perform first-touch attribution here, but given the nature of email marketing (ie its place at the bottom of the funnel), this didn't seem very valuable. First-touch (and multi-touch) attribution would make more sense with ad sources.
8+
This package performs last-touch attribution only, primarily in line with Klaviyo's internal attribution model. It would've been fairly straightforward to also perform first-touch attribution here, but given the nature of email marketing (ie its place at the bottom of the funnel), this didn't seem very valuable. First-touch (and multi-touch) attribution would make more sense with ad sources and other kinds of marketing channels.
9+
10+
> Note that the package's attribution model diverges from Klaviyo's [own](https://help.klaviyo.com/hc/en-us/articles/115005248128-Understanding-Conversion-Tracking) slightly. In Klaviyo, open/click email events do trigger the attribution window to open, but the timeframe of the window actually starts when the customer _received_ the email. We decided that starting the timeframe from the open/click event would be more appropriate. Thus, you may see more generous attribution metrics from the package than from the Klaviyo UI.
911
1012
## Rolling up Customers and Persons
1113
Theoretically, emails should be unique within `shopify.customers` and `klaviyo.person`. However, we have seen cases where this is not true, namely when a bot has created a bunch of accounts under the same email and/or name. Thus, because this package relies on email to join across platforms, we have rolled up these tables to the email-grain. We have also incorporated warnings on the `shopify__customers` and `klaviyo__persons` models so that you are notified if an email is not unique (and that you may have a bot problem!)

0 commit comments

Comments
 (0)