Salesforce Marketing Cloud
Platform engineering, data views, journeys, automations, personalization, messaging and migration.
What currently lives in this domain.
Depth grows from real work. Empty space is intentional; Study should never pretend to be Production.
15 entries
Subscribers targeted by email sends. Core anchor for send-level tracking joins.
Email open events, including unique-event flag and triggered-send identifiers.
Tracked email click events with link metadata and unique-event flag.
Bounce events and SMTP diagnostic information for email sends.
Unsubscribe events associated with email sends.
Email send job metadata such as email name, status, sender and scheduling information.
Journey metadata at the version level: IDs, name, version number, lifecycle dates and status.
Activities contained in journey versions, including the bridge to triggered email tracking.
Email subscriber addresses and current status at enterprise level.
Enterprise-level unsubscribe state by business unit. Query from the parent account.
Automation run-level health: status, duration, schedule context and first error detail.
Activity-level execution health for Automation Studio: runtime, activity type, status and error details.
MobileConnect SMS send/receive tracking, delivery-status context and Journey identifiers.
MobileConnect subscription history by mobile number/keyword, including opt-in and opt-out state.
Current MobileConnect held/undeliverable mobile-number state and bounce history.
46 entries
Keep the most recent row for each logical identity using ROW_NUMBER().
Find records in a source population that do not have a qualifying event or membership.
Return only the highest version number for each JourneyID and optionally exclude inactive states.
Map email tracking events back to Journey Builder journey and activity names.
Resolve Journey Builder email activities to their JobID values for reporting and troubleshooting.
Create recent-open/recent-click flags and last engagement dates for an audience.
Extract recent bounce category and SMTP details for deliverability investigation.
Read current All Subscribers status, bounce count and unsubscribe date from _Subscribers.
Randomly divide an eligible audience into similarly sized groups.
Handle zero-row lookups explicitly before reading row fields.
Build a dynamic URL and preserve Marketing Cloud click tracking with RedirectTo().
Convert a JSON array into a rowset and iterate it in AMPscript.
Pass subscriber/context values to a CloudPage without exposing raw query parameters.
Read request parameters and reject missing required identity context.
Retrieve SOAP objects beyond a single response page using RequestID / getNextBatch().
Batch upsert Data Extension rows through the SOAP object model.
Baseline email markup with viewport, dark-mode metadata and Outlook DPI handling.
Make deduplication deterministic when the main timestamp can tie.
Use ROW_NUMBER() as a history/debugging tool, not only for rn = 1.
Filter recent Data View rows without wrapping the source date column in a function.
Reduce event grain before combining behavior tables.
Return the first unique open date per subscriber within a defined analysis window.
Collapse click tracking to one latest engagement timestamp per subscriber.
Use the hidden row key for cheap approximate segmentation of a standard Data Extension.
Select a limited number of rows using SQL Server-style TOP syntax.
Promote production queries with explicit output columns instead of SELECT *.
Move expensive transformation into an overwrite staging DE before a large Add/Update write.
Return the latest known Automation Studio run for each AutomationCustomerKey.
Surface recent unhealthy Automation Studio runs with the first error detail.
Measure average activity runtime and failure count by activity key.
Find Query Activities whose average runtime is already entering the danger zone.
Map Journey-sent SMS tracking records to the Journey version via JBDefinitionID.
Review recently logged SMS opt-outs without assuming every row has a SubscriberKey.
Inspect MobileConnect numbers that are held after repeated delivery failures.
Aggregate recent bounce evidence before deciding whether an issue is recipient-level, domain-specific or broader.
Inspect current All Subscribers state and bounce count for non-active records.
Read a send-context attribute without assuming the field always exists or contains a value.
Retrieve a small, ordered rowset instead of scanning an unbounded one-to-many relationship at render time.
Abort only the current recipient when a genuine rendering invariant is violated.
Pass customer context from email to a CloudPage using Salesforce encrypted query-string handling.
Gate state-changing CloudPage logic behind explicit input and record validation.
Use a stable key so refresh/retry does not blindly append duplicate state rows.
Retrieve every page from a WSProxy SOAP object instead of silently stopping at the first batch.
Treat a batch call result as data to validate rather than assuming “no exception” means every row succeeded.
See recent Journey email sends with Journey/version/activity context.
Compare each automation’s most recent duration with its recent average to find successful-but-degrading flows.
10 entries
Systematic troubleshooting path for a Journey Builder audience that entered incorrectly or did not send.
Triage recurring SQL Query Activity failures before blindly retrying.
Minimum discovery path before moving an active SFMC business unit.
Stabilize first, reconstruct second, improve third.
Start from recent evidence before changing sender or audience strategy.
Trace a stale, skipped, failed or degrading automation from run-level evidence into the activity that actually caused the problem.
When a Journey is Running but the contacts you expected never enter, separate source population, event evaluation, identity and re-entry behavior.
Trace an SMS from account configuration and consent through Journey execution, tracking status and held-number state.
Triage a public CloudPage that is erroring, writing bad data, redirecting incorrectly or receiving malformed context.
Debug an email that fails for some recipients or builds too slowly because personalization is fragile or expensive.
4 entries
Copy time-bounded system tracking into your own historical model when long-term analysis is a requirement.
Split complex transformations into observable stages instead of one giant query.
Do not “clean up” an undocumented production org before understanding what is actually active.
Move large lookups and expensive transformations out of email render time when the data can be prepared earlier.
19 entries
Contacts enter the Journey, but an email activity appears to stop sending or a queue starts building.
Journey injection looks healthy, but email build/send throughput falls behind and queue depth grows.
Duplicate contacts, inconsistent Journey entry, or the same human appears under multiple ContactKeys.
A Decision Split routes a contact differently from what the current source table seems to show.
A scheduled DE-entry Journey evaluates records differently after an upstream Query Activity changes its target action.
An automation has Skipped instances even though nobody intentionally skipped it.
A health query appears to show duplicate automation instances for the same run.
Automation timestamps and email/mobile tracking appear offset in a combined operational report.
You see an opt-out/subscription event for a mobile number but no corresponding contact/subscriber ID.
SMS tracking looks delivered, but business reports say recipients did not receive messages.
A CloudPage trusts decrypted/request parameters directly for updates, preference changes or record access.
A CloudPagesURL link used from SMS or push returns an error for a recipient.
A loop over LookupRows() appears to “randomly” miss records in a one-to-many dataset.
Tracking/report counts include recipients for which RaiseError prevented the email from being sent.
Metadata extraction succeeds but silently misses objects after the first response page.
Authentication calls spike, integrations slow down, or token creation starts being rate-limited.
An integration receives HTTP 429 and immediately gets worse as workers retry faster.
A subscriber/job report returns far more rows than either source and aggregates start looking absurd.
A report assumes every system view has identical retention and either misses available data or plans on data that is not there.
18 entries
Full Journey release from source data through first real contact.
Publish a new Journey version without losing track of entry, content and triggered-send behavior.
New or materially changed Automation Studio flow.
Production query logic, target or performance change.
Create or alter a DE that has downstream consumers.
Content-focused launch with personalization, tracking and deliverability checks.
Public landing page, preference flow or form release.
SMS program or Journey activity with consent and tracking validation.
WhatsApp template/session flow launched through Journey Builder.
External system injecting data/events or consuming SFMC APIs.
File arrival through import/query/consumer validation.
Pre/post validation for a migrated object wave.
Smaller path for urgent production correction, with mandatory post-deploy validation.
New sending domain, audience source, major volume change or sender configuration.
Controlled recovery after a failed or partially completed Automation Studio execution.
Large one-time or staged historical data load with explicit volume and recovery controls.
Introduce a new customer/audience source without losing identity, permissions or downstream assumptions.
Journey release spanning email plus MobileConnect and/or WhatsApp with cross-channel identity and suppression checks.
6 entries
Build a reporting dataset that resolves email sends back to Journey and activity context without multiplying raw tracking events.
Create an explainable engaged-audience dataset from recent opens/clicks while protecting the final grain.
Turn Automation Studio run metadata into a small health model based on status, runtime and repeated failures.
Trace MobileConnect send state, delivery semantics, held numbers and subscription events without treating one status field as the whole truth.
Structure a CloudPage write path around validated context, idempotent updates and explicit failure handling.
Run discovery in a sequence that captures inventory first, dependencies second and business importance third.