---
id: "integrations/attribution/reference/apple-search-ads"
title: "Apple Ads Attribution Data Reference"
description: "Apple Ads is different from event-forwarding providers. This page maps Apple Ads source fields to the attribution data RevenueCat stores and uses. RevenueCat collects Apple Ads attribution data from the app and Apple Ads APIs; it doesn't send subscription lifecycle events to Apple Ads."
permalink: "/docs/integrations/attribution/reference/apple-search-ads"
slug: "docs/integrations/attribution/reference/apple-search-ads"
version: "current"
original_source: "docs/integrations/attribution/reference/apple-search-ads.mdx"
---

> **AI agents:** This is the Markdown version of a RevenueCat documentation page. For the complete documentation index, see [llms.txt](https://www.revenuecat.com/docs/llms.txt).

Apple Ads is different from event-forwarding providers. This page maps Apple Ads source fields to the attribution data RevenueCat stores and uses. RevenueCat collects Apple Ads attribution data from the app and Apple Ads APIs; it doesn't send subscription lifecycle events to Apple Ads.

For setup steps, see [Apple Ads](https://www.revenuecat.com/docs/integrations/attribution/apple-search-ads).

## How RevenueCat stores Apple Ads data

RevenueCat stores Apple Ads attribution data on the customer. It can use that customer-level context for Charts segmentation or downstream integrations that depend on Apple Ads attribution, such as Asapty and SplitMetrics Acquire. This data doesn't attribute each individual transaction.

When you pull customer data directly, the collected attribution data appears on the retrieved customer object in the Apple attribution field group, alongside the base customer fields and subscriber attributes. The `apple_attribution` object can include values like:

```json
{
  "customer": {
    "customer_id": "<app_user_id>"
  },
  "apple_attribution": {
    "apple_attribution_has_attribution": true,
    "apple_attribution_source": "Apple Ads",
    "apple_attribution_org_id": <apple_ads_org_id>,
    "apple_attribution_org_name": "<apple_ads_org_name>",
    "apple_attribution_campaign_id": <apple_ads_campaign_id>,
    "apple_attribution_campaign_name": "<apple_ads_campaign_name>",
    "apple_attribution_conversion_type": "<apple_ads_conversion_type>",
    "apple_attribution_adgroup_id": <apple_ads_ad_group_id>,
    "apple_attribution_adgroup_name": "<apple_ads_ad_group_name>",
    "apple_attribution_keyword_id": "<apple_ads_keyword_id>",
    "apple_attribution_keyword": "<apple_ads_keyword>",
    "apple_attribution_keyword_match_type": "<apple_ads_keyword_match_type>",
    "apple_attribution_creativeset_id": <apple_ads_creative_set_id>,
    "apple_attribution_creativeset_name": "<apple_ads_creative_set_name>",
    "apple_attribution_lineitem_id": <apple_ads_line_item_id>,
    "apple_attribution_lineitem_name": "<apple_ads_line_item_name>",
    "apple_attribution_ad_id": <apple_ads_ad_id>,
    "apple_attribution_country_or_region": "<apple_ads_country_or_region>",
    "apple_attribution_claim_type": "<apple_ads_claim_type>",
    "apple_attribution_impression_date": <apple_ads_impression_timestamp_ms>
  }
}
```

## Apple source fields to RevenueCat attribution data

| Apple source field | Stored as | RevenueCat behavior |
| :--- | :--- | :--- |
| `attribution` | `apple_attribution_has_attribution` | Indicates whether Apple attributed the install to Apple Ads. |
| `orgId`, `orgName` | `apple_attribution_org_id`, `apple_attribution_org_name` | Identifies the Apple Ads organization when Apple provides it. |
| `campaignId`, `campaignName` | `apple_attribution_campaign_id`, `apple_attribution_campaign_name` | Available for Charts segmentation and downstream integrations. |
| `purchaseDate`, `conversionDate` | Stored internally | Stored when Apple provides them, but not exposed as `apple_attribution_*` fields in customer data. |
| `adGroupId`, `adGroupName` | `apple_attribution_adgroup_id`, `apple_attribution_adgroup_name` | Available for Charts segmentation and downstream integrations. |
| `keywordId`, `keyword`, `keywordMatchType` | `apple_attribution_keyword_id`, `apple_attribution_keyword`, `apple_attribution_keyword_match_type` | Stored when available. |
| `creativeSetId`, `creativeSetName` | `apple_attribution_creativeset_id`, `apple_attribution_creativeset_name` | Stored when available. |
| `lineItemId`, `lineItemName` | `apple_attribution_lineitem_id`, `apple_attribution_lineitem_name` | Stored when available. |
| `adId` | `apple_attribution_ad_id` | Stored when available. |
| `countryOrRegion` | `apple_attribution_country_or_region` | Stores the Apple Ads country or region as an ISO 3166-1 alpha-2 code when Apple provides it. |
| `conversionType` | `apple_attribution_conversion_type` | Used for reporting and downstream integration enrichment. |
| `claimType` | `apple_attribution_claim_type` | Used for reporting and downstream integration enrichment. |
| `clickDate` | Stored internally | Available only for Detailed attribution data, but not exposed as an `apple_attribution_*` field in customer data. |
| `impressionDate` | `apple_attribution_impression_date` | Available only for Detailed attribution data. RevenueCat exposes this timestamp in milliseconds. |
| `supplyPlacement` | Stored internally | Stores the Apple Ads placement, such as App Store search results, when available, but not exposed as an `apple_attribution_*` field in customer data. |
