Building Audiences in Syntasa requires a bit of a balance between performance and usability. Strategies that use too many processes can hinder performance and using too many apps or defining too many attributes and/or audiences in a process can hinder usability. This article serves as a means to help strike a balance from a technology and business user perspective.
Creating New Data Layers
All your required source tables can be defined within a single data layer, but having too many different data sources within a data layer can make building attributes confusing and too complex for a user.
The most logical divide for data layers is typically at the property or report suite level, e.g. Website property, Mobile report suite, in-store data. Much of the time the data, usage requirements and teams using the data are different, making this approach easier and less potential of error for the users to create attributes.
It is important to keep in mind that attribute and audience apps get tied to a specific data layer so any attributes needed to build an audience need to be within the same data layer.
Creating New Apps
The two main reasons to create a new app are performance and usability. Too many processes within an app reduce processing performance and too many attributes in a process can hinder usability making it difficult for users to locate conditions.
If there are no more than five processes within an app and there is no need to logically separate the attributes then one app should suffice.
If you need to logically separate the attributes for usability purposes, e.g. e-commerce attributes, machine learning model attributes, offline attributes, then it would make sense to create an app for each category.
If your app requires more than five processes and performance is a driving factor then it is recommended to create a separate app.
Keep in mind Syntasa can handle more than five processes in an app and it could degrade performance somewhat, but in most cases a daily refresh is sufficient and these jobs typically run well before business users start their day.
Creating New Processes in an App
There are definitive and not so definitive times when a new Attribute Builder or Audience Builder process should be created.
The most definitive reason for creating a new process is when Auto Extract is used because if Auto Extract is used in a process that is all that can be configured for the process.
Non-definitive reasons relate mostly to usability. Having more than 20 attribute definitions in a process can degrade usability making it hard for a user to locate attributes within a process. There may be natural logical divides where creating a new process makes sense, such as e-commerce related attributes vs. analytical model results attributes.
Using Auto Extract
Auto Extract is a powerful and very handy feature to use, but it shouldn't be used for all your cases. One thing to always keep in mind is that using Auto Extract in an Attribute Builder or Audience Builder is the only type of configuration that can be made for that process. If you auto-extract off of one field but require other fields to be grouped together with the auto-extract results then a separate process will be needed to derive attributes from other fields, i.e. pulling product metadata in automatically from product table and manually isolating product information from search terms in the event table.
Creating a new process requires a Group Name and you are not able to have duplicate Group Names so a Group Name naming convention strategy will need to be followed, such as appended _Auto to the Group Names, e.g. Product, Product_Auto. The related Group Names will be available and can be combined in a subsequent.