Data Dependencies

The Data Dependencies panel contains a read-only list of transaction data sources that are allowed and used in this component and the audience level associated with these data sources. The fields update as you configure a component.

This panel lists the following information.

Allows Data Source
An attribute of a component that determines which data sources it can use. Values are Any, None, or a single data source.

Allowed data sources are determined as follows.

  • In event components, the data sources allowed in the ancestor component that sends the incoming event determine the allowed data sources.
  • In Simple components, the data source used in the required Firing Condition determines the allowed data source.
  • In data components, all data sources configured in the system are allowed. However, after a data source used in configuring the component, that data source is the only one available in subsequent configuration steps for that component.
Uses Data Source
All direct or indirect data source usage except for Incoming Events. Examples of direct usage occur in Time Spans, Firing Conditions, and values calculated using the Value Selector. An example of indirect usage is a component that refers to a data component such as a Container or Select.

A component can use only one data source, regardless of the number of allowed data sources.

Audience Level
The audience level with which the data source is associated. A trigger system can use data sources from only a single audience.

Opportunity Detect enforces data dependency rules. For example, if you attempt to remove a data source in a component, and a descendent component uses that data source, you can not save the changes. You see an error message that informs you of the reason for the failure and lists the affected descendent components. Before you can make the change, you must edit the descendent components so that they no longer use the data source that you want to remove from the ancestor component.

Example: Changing a data source

In the case illustrated by the diagram below, you would not be able to save the change made in the Simple component until you edited the Action component so that it no longer uses Data source 1.



Special cases in data source availability

Generally, the allowed data sources for a component are the transaction data sources allowed in ancestor components, but there are cases when this rule does not apply.

  • Pattern components can be activated by events associated with more than one data source. In such cases, you cannot configure the Pattern component to use transaction data from an ancestor component, because you cannot predict in advance which data source will be involved in activating that component. In the Data Dependencies panel, the Allows Data Source field will have a value of None.
  • Pattern components that use negative events fire only when the aging out of an event creates a negative condition. Because it is the system's evaluation of this condition (rather than an incoming transaction) that causes the event to fire, no descendent components have access to any transaction data sources.
  • Forward Inactivity components fire only when the canceling event does not occur before the time span completes. Because it is the system's evaluation of this condition (rather than an incoming transaction) that causes the event to fire, no descendent components have access to any transaction data sources.

In all of these cases, if profile data exists for the audience level associated with the transaction data source, it is always available for use in configuring a component.

The following examples illustrate data source access in Pattern and Forward Inactivity components.

Example: Pattern components activated by events associated with more than one data source

Pattern components such as Match All and Weighted Count have multiple incoming events. If two of the components sending the incoming events use different data sources, the pattern can not unambiguously determine its data source heritage.

In the diagram below, the Pattern component's allowed data source would be set to None. If you open the Value Selector in the Pattern editor, you would not have access to any transaction data sources.



Example: Forward Inactivity components

A Forward Inactivity component uses incoming and canceling events generated by two Simple components. In the Forward Inactivity's value selector, you can use the transaction data source made available through the component that supplies the incoming event. However, components that are downstream from the Forward Inactivity component have no access to this data source.

This is because it is the system, and not an event generated by a component, that activates the Forward Inactivity for firing when the time span elapses. At the moment when the Forward Inactivity component fires, the system has no access to any data source information.