Skip to main content

MCP Connector: reference of engagement type, channel and attribution IDs

What the numeric IDs in your edrone data mean when you query it with the MCP Connector: engagement types, channels, attribution reasons and onsite flags.

Written by Wioleta Jednaka

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

Email

2

SMS

4

Push

8

Chat

16

WhatsApp

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

Email

Opened

4

Email

Clicked

8

SMS

Delivered

16

SMS

Clicked

32

WhatsApp

Delivered

64

WhatsApp

Opened (read)

128

WhatsApp

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


Did this answer your question?