When you query your edrone data through the MCP Connector, many fields hold numeric IDs instead of names. This article lists what each ID means, so you (and Claude) can read attribution data correctly.
The MCP Connector links your edrone account to AI assistants such as Claude. You may also see it called the AI Connector. Not connected yet? Follow the setup guide: MCP Connector: talk to your edrone data in Claude & ChatGPT.
📌 Tip: Always use the IDs in this article as your reference, not example values you may see elsewhere.
Which fields use which list
Field | What the ID means | Section |
engagementTypeId, attributedByEngagementTypeId | Engagement type: the kind of campaign or automation | Engagement types |
channelTypeId, attributedByChannelTypeId, channelId | Channel | Channels |
attributionReasonId | Why an order was attributed to a message | Attribution reasons |
isSocialProof, isSmartRecommendation, isRecommendationFrame, isAIAgent | Onsite elements the customer came into contact with before buying | Onsite flags on orders |
Engagement types
Fields: engagementTypeId and attributedByEngagementTypeId. It's one dictionary used everywhere: in flows, reports and orders. Some older types may never appear in your account.
Campaigns
ID | Technical name | What it is |
6 | NEWSLETTER | Newsletter |
8 | SMS_NEWSLETTER | SMS campaign |
11 | CUSTOM_NEWSLETTER | Custom newsletter |
13 | NEWSLETTER_AB | A/B newsletter |
14 | NEWSLETTER_CATEGORIES | Category newsletter |
17 | PUSH_NEWSLETTER | Push campaign |
22 | NEWSLETTER_HUB | Email newsletter campaign (Newsletter Hub) – the most common type today |
30 | WHATSAPP_NEWSLETTER | WhatsApp campaign |
37 | CUSTOMERS_ACTIVATION |
Custom Flows
ID | Technical name | What it is |
21 | CUSTOM_FLOW | Custom Flow – flows you build in the flow builder |
Ready-made automations (Ready Flows)
Where a Help Center article describes the flow, the name links to it and matches the name the article uses. Names without a link are plain descriptions.
ID | Technical name | Flow |
1 | RESTORE_CUSTOMERS | |
2 | LOYALTY_PROGRAM | |
3 | BIGGEST_SPENDERS | Biggest spenders |
4 | FREQUENT_BUYERS | Frequent buyers |
5 | ABANDONED_CARTS | |
7 | ADVANCED_RESTORE_CUSTOMERS | |
9 | AFTER_SALE | |
10 | NEWSLETTER_SUBSCRIPTION | |
12 | WISH_LIST | |
15 | RECOMMENDATIONS | |
16 | CROSS_SELLING_TRANSACTIONAL | |
18 | CHAT_SUBSCRIPTION | Chat subscription |
19 | BIRTHDAY | |
20 | REFER_A_FRIEND | Refer a friend |
23 | NEWSLETTER_SIGN_UP_AFTER_PURCHASE | |
24 | PRICE_CHANGE_UP | |
25 | PRICE_CHANGE_DOWN | |
26 | LOW_STOCK_PRODUCTS | |
27 | NEWEST_PRODUCTS | |
28 | ASK_FOR_REVIEW | |
29 | BACK_IN_STOCK | |
31 | SMS_SUBSCRIPTION | |
32 | RECOVER_UNPAID_ORDER | Unpaid order recovery |
33 | REVIEW_REQUEST | Review request |
34 | CALL_ME_BACK | |
35 | PRIVACY_POLICY | Privacy policy |
36 | WHATSAPP_SUBSCRIPTION | |
38 | CUSTOMER_REACTIVATION | |
39 | CASHBACK | |
40 | CYCLIC_LOYALTY_PROGRAM |
Where each engagement type shows up
list_engagements returns ready-made automations, one row per type, but not all of them. Review request (33) never appears there. Wishlist (12), Chat subscription (18) and Refer a friend (20) appear only if your account has access to them. Older types 3, 4 and 34 don't appear. Custom Flows (21) and all campaign types never appear, even when orders are attributed to them.
get_automation_reports covers Custom Flows and ready-made automations, without newsletters. Wishlist (12), Chat subscription (18), Refer a friend (20) and Privacy policy (35) are not included.
Campaigns 6, 8, 11, 13, 14, 22, 30 and 37 show up in get_newsletter_reports, with a channel ID. Push campaigns (17) don't: use get_push_newsletter_report or get_push_newsletter_statistics.
⚠️ Important: If an order is attributed to type 21, 22 or 33 and that type isn't in list_engagements, nothing is missing. Check get_automation_reports (Custom Flows and Review request) or get_newsletter_reports (campaigns) instead.
Channels
Fields: channelTypeId, attributedByChannelTypeId and channelId.
ID | Channel |
1 | |
2 | SMS |
4 | Push |
8 | Chat |
16 | |
32 | Messenger |
64 | Allegro |
128 | AI Agent |
There is no channel 3.
attributedByChannelTypeId is the channel of the specific message that got the attribution. Example: a Custom Flow (type 21) can send WhatsApp messages, so type 21 with channel 16 is normal.
Attribution reasons
Field: attributionReasonId. It shows what the customer did with the message.
ID | Channel | What happened |
1 | Opened | |
4 | Clicked | |
8 | SMS | Delivered |
16 | SMS | Clicked |
32 | Delivered | |
64 | Opened (read) | |
128 | Clicked |
So an order can be attributed to a WhatsApp or SMS message without a click.
⚠️ Important: Reason 1 is an email reason. If you query WhatsApp attributions with reason 1 alone, you get no results.
In get_engagement_attributions, attributionReasonId works as a sum of IDs. Pass 0 to get all reasons, or add IDs together to combine them. For example, use 224 (32 + 64 + 128) for all WhatsApp reasons or 5 (1 + 4) for all email reasons.
clickRevenue and supportedRevenue
Automation reports and newsletter reports split attributed revenue into two fields. The split doesn't go by attribution reason alone: what matters is whether a click on the message was recorded.
Field | What it counts |
clickRevenue | Attributed revenue where the customer clicked the message: reasons 4, 16 and 128, and also any email, SMS or WhatsApp attribution where a click on the message's link was recorded. |
supportedRevenue | Attributed revenue without a recorded click: an open, delivery or read (reasons 1, 8, 32, 64). |
Both fields cover messages only. Onsite elements aren't included (see the next section).
Onsite flags on orders
Orders can carry four onsite flags:
Flag | Onsite element |
isSocialProof | Social proof |
isSmartRecommendation | Smart Recommendations |
isRecommendationFrame | Recommendation frame |
isAIAgent | AI Agent |
When a flag is true, it means:
isSocialProof and isSmartRecommendation: the customer saw or clicked that element within 1 day before the order.
isRecommendationFrame: the customer saw or clicked a recommendation frame within 30 days before the order.
For these three flags, only events after the customer's previous order count.
isAIAgent: the AI Agent recommended products to the customer, or the customer clicked a recommended product or added it to the cart.
These flags are not a message attribution. They have no engagement type ID and don't change which message an order is attributed to.
Example: an order with social proof and no message interaction has attributedByEngagementTypeId: null. It counts in neither clickRevenue nor supportedRevenue.
A null value means the onsite stats for that order aren't available, for example for very recent orders that haven't been processed yet. It doesn't mean false.
The per-order counters emailsCount, smsCount and whatsappCount sit next to these flags.
Practical tips
Revenue per channel: Use get_revenue_by_channel. It returns email, SMS and WhatsApp, each covering all campaigns and automations on that channel. It has no push.
One specific campaign: With engagementTypeId, get_engagement_attributions reports the most recent campaign of that type. To target a specific one, pass engagementId.
📌 Tip: Starting an attribution analysis with Claude? Paste the tables from this article into the chat first, so Claude decodes the IDs correctly.
Need more help?
If you have any further questions about the MCP Connector data, please do not hesitate to contact us at hello@edrone.me
