# Platform attribution settings as read on one date.
# Fill one block per platform in scope. Never fill a value from memory or an old screenshot.
# Leave a field empty and add a note when it could not be read.
# Every block records date basis, counting method, time zone and value basis: most
# cross-platform disputes are one of these, not the model.
read_on: "YYYY-MM-DD"
read_by: "<role>"

ga4:
  property: "<property name, no ID needed>"
  reporting_attribution_model: ""        # PAID_AND_ORGANIC_CHANNELS_DATA_DRIVEN, PAID_AND_ORGANIC_CHANNELS_LAST_CLICK or GOOGLE_PAID_CHANNELS_LAST_CLICK
  acquisition_key_event_lookback_days: "" # 7 or 30
  other_key_event_lookback_days: ""      # 30, 60 or 90
  channels_that_can_receive_credit: ""   # GOOGLE_PAID_CHANNELS, PAID_AND_ORGANIC_CHANNELS or NOT_SELECTED_YET (a valid read, not an error)
  conversions_with_own_settings: []      # Advertising section conversions with per-conversion model or windows
  counting_method: ""                    # per key event: ONCE_PER_EVENT or ONCE_PER_SESSION (legacy)
  date_basis: "event date"               # GA4 reports events on the date they happened
  reporting_timezone: ""                 # property time zone
  value_basis: ""                        # event value parameter, currency handling
  last_change_dates: []                  # model and lookback: GA4 Admin change history. Shared conversions: Google Ads Change history (GA4-made edits land there), then GA4 change history. A model change restates history
  source_url: "https://support.google.com/analytics/answer/16291112"
  notes: ""

google_ads:
  account: "123-456-7890"
  reporting_timezone: ""                 # customer.time_zone
  currency: ""                           # customer.currency_code
  date_basis: ""                         # which columns the report uses: standard (interaction date) or "by conv. time" (conversion date)
  actions:
    - name: ""
      category: ""
      primary_for_goal: ""
      in_custom_goal: ""                 # custom goals ignore primary_for_goal
      counting_type: ""                  # ONE_PER_CLICK or MANY_PER_CLICK
      attribution_model: ""
      data_driven_model_status: ""       # AVAILABLE, STALE, EXPIRED, NEVER_GENERATED
      click_through_days: ""
      engaged_view_days: ""              # read in the interface
      view_through_days: ""
      value_basis: ""                    # transaction value, configured default (always_use_default_value) or value rules
      shared_with_ga4: ""                # yes if a GA4 conversion; window and counting may be editable only in GA4
      used_by_campaigns: []
  last_change_dates: []                  # Google Ads Change history
  source_url: "https://support.google.com/google-ads/answer/6259715"
  notes: ""

meta:
  ad_account: "<account name>"
  reporting_timezone: ""                 # ad account time zone; check one day against Ads Manager
  ad_sets_sampled: []
  attribution_setting: ""                # click-through, view-through and engage-through windows as shown on the ad set
  engage_through: ""                     # on or off, and its window
  incremental_attribution_in_use: ""
  click_definition_period: ""            # before or after the March 2026 link-click change for this account
  counting_method: ""                    # how repeated actions by one person are counted in the metric used; verify in Meta's docs at run time
  value_basis: ""                        # purchase value from the pixel or Conversions API, currency
  date_basis: "mixed: off-Meta conversions at conversion time, on-Meta actions at impression time (API behaviour since 2025-06-10)"
  connectors:                            # one entry per dashboard or API pull
    - name: ""
      requested_action_attribution_windows: [] # exactly what the connector requests; 7d_view and 28d_view are not returned since 2026-01-12
      reads_ad_set_default: ""           # yes if it requests no windows, so values follow each ad set's attribution setting
      time_zone_shift: ""                # Meta reports insights in the ad account time zone; record any shift the connector applies
      transforms: ""                     # currency conversion, deduplication, renamed or summed columns
      # use_unified_attribution_setting and action_report_time are ignored by the API since 2025-06-10; do not record them as settings
  source_url: "https://www.facebook.com/business/news/click-attribution"
  api_reference_url: "https://developers.facebook.com/docs/marketing-api/insights/best-practices/"
  notes: ""

linkedin:
  ad_account: "<account name>"
  reporting_timezone: ""                 # verify at run time
  date_basis: ""                         # verify at run time from LinkedIn's reporting docs
  conversion_rules:
    - name: ""
      type: ""
      counting: ""                       # each ad set (LAST_TOUCH_BY_CAMPAIGN) or last ad set (LAST_TOUCH_BY_CONVERSION); API-created rules default to each ad set
      click_window_days: ""
      view_window_days: ""
      value_basis: ""                    # DYNAMIC, FIXED or NO_VALUE
      method: ""                         # Insight Tag, Conversions API, CSV
  source_url: "https://www.linkedin.com/help/lms/answer/a426349"
  notes: ""

crm:
  system: ""                             # HubSpot, Salesforce, other
  reporting_timezone: ""
  source_fields_used: []                 # internal names read in the portal or org, with how each is populated
  deal_or_opportunity_source_rule: ""    # how deal source is derived and from which contact
  attribution_report_model: ""           # HubSpot report model, or Salesforce influence models enabled and default
  zero_contact_deals_or_roles: ""        # count and share of amount: HubSpot deals with no contact, Salesforce opportunities with no contact roles
  primary_campaign_source_fill_rate: ""  # Salesforce only
  self_reported_field: ""                # field name, where it is asked, codebook version
  notes: ""

mobile:
  mmp: ""
  mmp_windows_and_rules: ""
  skadnetwork_or_adattributionkit: ""
  adattributionkit_windows: ""           # Info.plist AdAttributionKitConfigurations > AttributionWindows, global and per ad network; system defaults click 30 days, view 1 day
  adattributionkit_cooldown: ""          # AttributionCooldown install and re-engagement hours (0 to 720), or none
  postback_only_share: ""                # share of iOS outcomes visible only through postbacks
  postback_mature_on: ""                 # 41 days after the last first launch in the period
  android_install_referrer: ""           # used by the MMP or not
  notes: ""
