Adobe Campaign Classic Business Practitioner Expert cheat sheet
Adobe Campaign Classic Business Practitioner Expert · Keep the key ideas within reach.
Campaign Configuration and Administration
Instance types: marketing (campaign UI + workflows), message center (real-time transactional), mid-sourcing (execution offload), and execution instances for high-volume delivery.
The operator security model is group-based: rights are granted to operator groups via named rights (e.g., workflow, delivery, profile) and folder permissions; individual rights are inherited.
Named rights gate specific actions independent of folders; folder permissions gate read/write/delete on objects stored in that folder hierarchy.
Workflows execute on the application server unless routing is delegated to a mid-sourcing instance; delivery logs are then synchronized back to the marketing instance.
Technical workflows (e.g., tracking, billing, cleanup, mdata) must stay started; stopping them halts log purge, tracking consolidation, and campaign metrics.
Key server config files: serverConf.xml (server-level settings), config-.xml (instance database and settings), and package-level options set via the Options (xtkOption) node.
The xtkOption table stores global and per-instance options; options can be overridden at workflow, delivery, or template level depending on the option's scope.
Package import/export uses the Adobe Campaign package (.xml) format; packages carry schemas, forms, JS libraries, and workflow templates, and should be imported into a staging instance first.
Audit trail: the audit log records operator actions on key objects; log retention is controlled by the cleanup technical workflow and the log purge options.
Data Model and Schema Management
Core schema hierarchy: xtk:folder > nms:recipient; recipient is linked to nms:delivery via tracking/delivery logs, and to nms:list via nms:subscription.
Custom schemas extend nms:recipient (extension) or are standalone; extension schemas must declare the same namespace prefix unless they use a dedicated namespace.
A schema's dataSource determines its database table; the table name is typically the namespace + short name, and indexes are declared in the schema's elements.
Enumeration values are defined in schema blocks and can be extended in extension schemas; changing an enum value requires mapping for existing rows.
Links: defines joins; the revLink attribute creates the reverse relation; a link with integrity=true enforces a foreign key.
The SQL definition of a schema must be regenerated after structural changes; schema changes are applied via the database update wizard, which generates ALTER statements.
Filtering dimensions (nms:recipient, nms:delivery, etc.) drive targeting; a schema must be enabled as a filtering dimension to appear in query activity target selectors.
Keys: elements define unique indexes; the primary key is the internal id (int64) unless overridden; external IDs support integration with third-party systems.
The xtk:schema and xtk:srcSchema tables store compiled and source definitions; the schema cache must be refreshed after deployment.
Recipients, Targeting, and Segmentation
The recipient schema (nms:recipient) is the default target; key fields include email, firstName, lastName, and the derived status flags (blocklisted, quarantined).
Quarantine (nms:address) blocks delivery to an address after hard bounces or complaints; the quarantine period is configurable per instance.
Subscriptions link recipients to services (nms:service) through nms:subscription; confirmation and unsubscription flows are driven by subscription workflows.
Segmentation approaches: query activity with filters, segmentation activity by population percentage, and dynamic lists refreshed by workflow.
Target mapping (nms:delivery mapping) defines the target schema, the delivery storage schema, and the address field used; custom target mappings are needed for non-recipient schemas.
Deduplication in a query uses the deduplication tab: identify duplicates by a key, keep the most recent or first record, and optionally keep the result in a temporary table.
Exclusion is performed with a union activity (exclusion mode) or a query using 'does not exist in' a sub-target; both require a common key.
Seed addresses validate rendering and deliverability without affecting real recipients; they are stored in nms:seedAddress and can be linked to a delivery or a target.
Control groups are defined as a percentage of the target and are excluded from the delivery but retained for reporting comparison.
Campaign Orchestration and Workflow Design
Workflow activities fall into targeting (query, union, intersection, exclusion, split, enrichment), delivery (delivery, continuous delivery), and flow-control (wait, scheduler, test, AND-join, approval).
A workflow's execution context is a temporary table; each activity passes a result table forward, and the transition carries the schema and the population.
The split activity routes populations by filter conditions, percentage, or exclusive subsets; each output transition has its own population.
The enrichment activity adds columns to the workflow target from another schema via a link; it can also aggregate (e.g., sum of orders per recipient).
The recurring delivery and continuous delivery activities handle scheduled and event-driven sends; continuous delivery requires a template with a recurring or event trigger.
The approval activity pauses execution pending operator action; approvals can be configured for delivery validation before send.
Error handling: a workflow's 'keep interim results' and error transition settings determine whether the workflow aborts or continues on activity failure.
Workflow templates are stored in the Resources > Templates > Workflow templates folder and can be reused across campaigns.
The scheduler activity sets a start date and recurrence; the wait activity delays execution and can be set to a fixed duration or a date relative to the target.
Delivery Channels and Message Configuration
Delivery types: email, SMS, push (mobile app), direct mail, and line (for external channels); each has its own delivery template and routing configuration.
Email routing (nms:routing) defines the sending mode: bulk (mid-sourcing or direct), and the associated external account (e.g., the SMTP relay account).
External accounts (nms:extAccount) configure SMTP, SMS gateways, and mobile app credentials; they are referenced by routing and by the delivery template.
The delivery template (nms:deliveryTemplate) sets default properties: target mapping, routing, content, typology, and personalization blocks.
Typology rules (nms:typologyRule) enforce constraints at delivery time: pressure rules (max messages per recipient per period), fatigue, and content rules.
The delivery typology is assigned at the delivery or template level; rules can be set to warn, block, or apply a control group.
Proof sending uses seed addresses or specific recipients and validates the content and personalization before the final send.
The delivery audit (approval) must be completed before sending; the 'confirm delivery' step is separate from content validation.
Personalization, Dynamic Content, and Templates
Personalization fields use the syntax <%= recipient.firstName %> or the expression editor; the target schema determines available fields.
Conditional content uses <% if (condition) { %> ... <% } else { %> ... <% } %> blocks; the condition is evaluated at delivery time against the recipient.
Personalization blocks (nms:personalizationBlock) are reusable snippets stored in Resources > Templates > Personalization blocks; they are included by reference.
Dynamic content can be defined per delivery via content variants (A/B testing) or via the 'dynamic content' tab using conditions and target populations.
The expression editor supports functions (e.g., Format, DateFormat, GetEmailDomain) and variables; the syntax must be validated before send.
The delivery template's content is inherited by deliveries created from it; changes to the template do not retroactively change existing deliveries.
The 'preview' tab renders content for a selected recipient; the 'test' tab sends proofs to seed addresses.
Personalization data can come from linked schemas (e.g., recipient.company.name) as long as the link is defined in the target mapping.
Reporting, Tracking, and Analytics
Tracking indicators: opens (via tracking pixel), clicks (via redirected links), and unsubscriptions are recorded in nms:trackingLog and nms:trackingUrl.
Delivery indicators: sent, delivered, bounced (hard/soft), and quarantined; these are computed from nms:deliveryLog and nms:deliveryRecipient.
The delivery dashboard shows the delivery summary (target, sent, opens, clicks) and the delivery reports (e.g., delivery statistics, opening rates).
Reports are built with the report editor (xtk:report) or as web apps; the report's data source is a schema or a workflow-generated table.
The tracking workflow (technical workflow) consolidates tracking logs; if it is stopped, tracking indicators do not update.
A/B testing reports compare variants by delivery indicators; the test population and winning criteria are configured on the delivery.
The 'delivery throughput' and 'delivery summary' reports are standard reports available from the delivery dashboard.
Custom reports can be scheduled and exported; the report's data is refreshed on open unless cached.
Integrations, APIs, and Data Import/Export
Data import/export uses the import/export activity in workflows or the Import/Export wizard; the format (CSV, XML, fixed-width) and the mapping are defined in the import/export template.
The import template maps source columns to schema fields; the 'reject' file stores rows that fail validation, and the 'log' file records the import result.
The SOAP API (xtk:session) authenticates with a login and password; the session token is passed to subsequent calls (e.g., xtk:queryDef, nms:delivery).
The queryDef API executes a query defined by a schema, operation (select/insert/update/delete), and conditions; results are returned as XML.
The nms:delivery API allows creating and submitting deliveries programmatically; the delivery must be created from a template and submitted with the appropriate action.
The web service (SOAP) endpoint is /nl/jsp/soaprouter.jsp; the API version and the session token are required for each call.
The 'data loading' workflow activity (data loading (file)) reads a file and passes rows to the workflow; the file format and the schema are configured in the activity.
The 'extraction' activity exports the workflow target to a file; the format and the columns are configured in the activity.
The 'update data' activity updates or inserts records in a schema from the workflow target; it requires a key to match existing records.
Governance, Security, and Compliance
Operator groups and named rights control access; the 'admin' group has full rights, and rights should be granted to groups rather than individual operators.
Folder permissions are set per group and per folder; the 'all' folder permission applies to all subfolders unless overridden.
The audit log (xtk:audit) records operator actions; the log is retained according to the cleanup workflow and the log retention options.
Data privacy: the GDPR-related features include the right to be forgotten (deletion of recipient data), data retention policies, and consent management.
Consent and opt-out: the recipient's 'no longer contact' flag (blocklist) and the subscription status control whether a recipient can be targeted.
The quarantine mechanism blocks delivery to addresses that hard-bounced or complained; the quarantine period and the removal process are configurable.
The 'delivery' approval and the 'content' approval workflows enforce segregation of duties between content authors and senders.
The security zone (nms:securityZone) restricts access by IP address; the zone is assigned to operator groups and to the connection.
The 'tracking' and 'unsubscription' links must comply with the applicable regulations; the unsubscription link is mandatory for commercial email.
Campaign Configuration and Administration
Instance types: marketing (campaign UI + workflows), message center (real-time transactional), mid-sourcing (execution offload), and execution instances for high-volume delivery.
The operator security model is group-based: rights are granted to operator groups via named rights (e.g., workflow, delivery, profile) and folder permissions; individual rights are inherited.
Named rights gate specific actions independent of folders; folder permissions gate read/write/delete on objects stored in that folder hierarchy.
Workflows execute on the application server unless routing is delegated to a mid-sourcing instance; delivery logs are then synchronized back to the marketing instance.
Technical workflows (e.g., tracking, billing, cleanup, mdata) must stay started; stopping them halts log purge, tracking consolidation, and campaign metrics.
Key server config files: serverConf.xml (server-level settings), config-.xml (instance database and settings), and package-level options set via the Options (xtkOption) node.
The xtkOption table stores global and per-instance options; options can be overridden at workflow, delivery, or template level depending on the option's scope.
Package import/export uses the Adobe Campaign package (.xml) format; packages carry schemas, forms, JS libraries, and workflow templates, and should be imported into a staging instance first.
Audit trail: the audit log records operator actions on key objects; log retention is controlled by the cleanup technical workflow and the log purge options.
Data Model and Schema Management
Core schema hierarchy: xtk:folder > nms:recipient; recipient is linked to nms:delivery via tracking/delivery logs, and to nms:list via nms:subscription.
Custom schemas extend nms:recipient (extension) or are standalone; extension schemas must declare the same namespace prefix unless they use a dedicated namespace.
A schema's dataSource determines its database table; the table name is typically the namespace + short name, and indexes are declared in the schema's elements.
Enumeration values are defined in schema blocks and can be extended in extension schemas; changing an enum value requires mapping for existing rows.
Links: defines joins; the revLink attribute creates the reverse relation; a link with integrity=true enforces a foreign key.
The SQL definition of a schema must be regenerated after structural changes; schema changes are applied via the database update wizard, which generates ALTER statements.
Filtering dimensions (nms:recipient, nms:delivery, etc.) drive targeting; a schema must be enabled as a filtering dimension to appear in query activity target selectors.
Keys: elements define unique indexes; the primary key is the internal id (int64) unless overridden; external IDs support integration with third-party systems.
The xtk:schema and xtk:srcSchema tables store compiled and source definitions; the schema cache must be refreshed after deployment.
Recipients, Targeting, and Segmentation
The recipient schema (nms:recipient) is the default target; key fields include email, firstName, lastName, and the derived status flags (blocklisted, quarantined).
Quarantine (nms:address) blocks delivery to an address after hard bounces or complaints; the quarantine period is configurable per instance.
Subscriptions link recipients to services (nms:service) through nms:subscription; confirmation and unsubscription flows are driven by subscription workflows.
Segmentation approaches: query activity with filters, segmentation activity by population percentage, and dynamic lists refreshed by workflow.
Target mapping (nms:delivery mapping) defines the target schema, the delivery storage schema, and the address field used; custom target mappings are needed for non-recipient schemas.
Deduplication in a query uses the deduplication tab: identify duplicates by a key, keep the most recent or first record, and optionally keep the result in a temporary table.
Exclusion is performed with a union activity (exclusion mode) or a query using 'does not exist in' a sub-target; both require a common key.
Seed addresses validate rendering and deliverability without affecting real recipients; they are stored in nms:seedAddress and can be linked to a delivery or a target.
Control groups are defined as a percentage of the target and are excluded from the delivery but retained for reporting comparison.
Campaign Orchestration and Workflow Design
Workflow activities fall into targeting (query, union, intersection, exclusion, split, enrichment), delivery (delivery, continuous delivery), and flow-control (wait, scheduler, test, AND-join, approval).
A workflow's execution context is a temporary table; each activity passes a result table forward, and the transition carries the schema and the population.
The split activity routes populations by filter conditions, percentage, or exclusive subsets; each output transition has its own population.
The enrichment activity adds columns to the workflow target from another schema via a link; it can also aggregate (e.g., sum of orders per recipient).
The recurring delivery and continuous delivery activities handle scheduled and event-driven sends; continuous delivery requires a template with a recurring or event trigger.
The approval activity pauses execution pending operator action; approvals can be configured for delivery validation before send.
Error handling: a workflow's 'keep interim results' and error transition settings determine whether the workflow aborts or continues on activity failure.
Workflow templates are stored in the Resources > Templates > Workflow templates folder and can be reused across campaigns.
The scheduler activity sets a start date and recurrence; the wait activity delays execution and can be set to a fixed duration or a date relative to the target.
Delivery Channels and Message Configuration
Delivery types: email, SMS, push (mobile app), direct mail, and line (for external channels); each has its own delivery template and routing configuration.
Email routing (nms:routing) defines the sending mode: bulk (mid-sourcing or direct), and the associated external account (e.g., the SMTP relay account).
External accounts (nms:extAccount) configure SMTP, SMS gateways, and mobile app credentials; they are referenced by routing and by the delivery template.
The delivery template (nms:deliveryTemplate) sets default properties: target mapping, routing, content, typology, and personalization blocks.
Typology rules (nms:typologyRule) enforce constraints at delivery time: pressure rules (max messages per recipient per period), fatigue, and content rules.
The delivery typology is assigned at the delivery or template level; rules can be set to warn, block, or apply a control group.
Proof sending uses seed addresses or specific recipients and validates the content and personalization before the final send.
The delivery audit (approval) must be completed before sending; the 'confirm delivery' step is separate from content validation.
Personalization, Dynamic Content, and Templates
Personalization fields use the syntax <%= recipient.firstName %> or the expression editor; the target schema determines available fields.
Conditional content uses <% if (condition) { %> ... <% } else { %> ... <% } %> blocks; the condition is evaluated at delivery time against the recipient.
Personalization blocks (nms:personalizationBlock) are reusable snippets stored in Resources > Templates > Personalization blocks; they are included by reference.
Dynamic content can be defined per delivery via content variants (A/B testing) or via the 'dynamic content' tab using conditions and target populations.
The expression editor supports functions (e.g., Format, DateFormat, GetEmailDomain) and variables; the syntax must be validated before send.
The delivery template's content is inherited by deliveries created from it; changes to the template do not retroactively change existing deliveries.
The 'preview' tab renders content for a selected recipient; the 'test' tab sends proofs to seed addresses.
Personalization data can come from linked schemas (e.g., recipient.company.name) as long as the link is defined in the target mapping.
Reporting, Tracking, and Analytics
Tracking indicators: opens (via tracking pixel), clicks (via redirected links), and unsubscriptions are recorded in nms:trackingLog and nms:trackingUrl.
Delivery indicators: sent, delivered, bounced (hard/soft), and quarantined; these are computed from nms:deliveryLog and nms:deliveryRecipient.
The delivery dashboard shows the delivery summary (target, sent, opens, clicks) and the delivery reports (e.g., delivery statistics, opening rates).
Reports are built with the report editor (xtk:report) or as web apps; the report's data source is a schema or a workflow-generated table.
The tracking workflow (technical workflow) consolidates tracking logs; if it is stopped, tracking indicators do not update.
A/B testing reports compare variants by delivery indicators; the test population and winning criteria are configured on the delivery.
The 'delivery throughput' and 'delivery summary' reports are standard reports available from the delivery dashboard.
Custom reports can be scheduled and exported; the report's data is refreshed on open unless cached.
Integrations, APIs, and Data Import/Export
Data import/export uses the import/export activity in workflows or the Import/Export wizard; the format (CSV, XML, fixed-width) and the mapping are defined in the import/export template.
The import template maps source columns to schema fields; the 'reject' file stores rows that fail validation, and the 'log' file records the import result.
The SOAP API (xtk:session) authenticates with a login and password; the session token is passed to subsequent calls (e.g., xtk:queryDef, nms:delivery).
The queryDef API executes a query defined by a schema, operation (select/insert/update/delete), and conditions; results are returned as XML.
The nms:delivery API allows creating and submitting deliveries programmatically; the delivery must be created from a template and submitted with the appropriate action.
The web service (SOAP) endpoint is /nl/jsp/soaprouter.jsp; the API version and the session token are required for each call.
The 'data loading' workflow activity (data loading (file)) reads a file and passes rows to the workflow; the file format and the schema are configured in the activity.
The 'extraction' activity exports the workflow target to a file; the format and the columns are configured in the activity.
The 'update data' activity updates or inserts records in a schema from the workflow target; it requires a key to match existing records.
Governance, Security, and Compliance
Operator groups and named rights control access; the 'admin' group has full rights, and rights should be granted to groups rather than individual operators.
Folder permissions are set per group and per folder; the 'all' folder permission applies to all subfolders unless overridden.
The audit log (xtk:audit) records operator actions; the log is retained according to the cleanup workflow and the log retention options.
Data privacy: the GDPR-related features include the right to be forgotten (deletion of recipient data), data retention policies, and consent management.
Consent and opt-out: the recipient's 'no longer contact' flag (blocklist) and the subscription status control whether a recipient can be targeted.
The quarantine mechanism blocks delivery to addresses that hard-bounced or complained; the quarantine period and the removal process are configurable.
The 'delivery' approval and the 'content' approval workflows enforce segregation of duties between content authors and senders.
The security zone (nms:securityZone) restricts access by IP address; the zone is assigned to operator groups and to the connection.
The 'tracking' and 'unsubscription' links must comply with the applicable regulations; the unsubscription link is mandatory for commercial email.