Frakture uses the word "channel" to designate the primary delivery mechanism of a messages. Every submodule of a Bot has a 'channel', for example facebook, or email, or direct mail. Some Bots have submodules with multiple channels — representing platforms that can delivery messages in multiple ways, like 'email' or 'sms'.

Because of the ubiquity of the 'channel' concept, it appears in 2 different contexts in Frakture, the "channel" field; and the "source_code_channel" field — for those that use source coding to deeper analytics.

Messages that are sent out by that Bot aggregate statistics on the channel field — so, for example, FacebookBot would send out messages flagged as channel="facebook", with spend, impressions, clicks, etc. These are always available, regardless of your use of source codes, and are part of the message object.

Many organizations also embed channel information in their source codes. For example "XY_EM_2021-03-04" would extract "EM" as the source code channel. Since source codes can be attached to messages, to transactions, or to people as origin codes, it means there is sometimes crossover between these two different sources of data.

In source code summary views, such as the source_code_summary view, you'll see BOTH the 'channel', which contains information on source codes that are attached as primary source codes to a messages, AND the 'source_code_channel' field, which contains the extracted channel from the source code.

Typically, if you are using source codes, you'll probably want to use the source_code_channel field, as it can collate information across messages, transactions, and people — whereas by definition the 'channel' field can only aggregate data on messages.

There is also a 'source_code_channel_label' field that is suitable for presenting — it translates codes like "EM" to Email, or "FB" to Facebook, or "<blank>" to "N/A". You can use that instead of the source_code_channel for public facing reports.