Skip to main content
Featured group

* Marketing Cloud Engagement *

Welcome! This group is dedicated to your success with Salesforce Marketing Cloud Engagement. Join the conversation here to stay up to date on the product, learn best practices, and everything in between. Use this group to review resources, ask questions, help each other, and share experiences. --------------------------------------- This group is maintained and moderated by Salesforce employees. The content received in this group falls under the official Forward-Looking Statement: http://investor.salesforce.com/about-us/investor/forward-looking-statements/default.aspx

The marketing team have started to ask for a full breakdown of the link clicks and one issue that keeps coming up is redirecto / mailto links. 

 

I've looked up some of the solutions to this and got something that works. Our openers seem to mainly be desktop openers. 

 

The suggested solution that I found was to use a cloudpage to re-direct the link to the actual url.  

 

It feels wrong but in all my tests everything seems to work fine, and the tracking is there. 

 

CP: 

%%[

VAR @url

SET @url = QueryParameter("url")

]%%

<script>

window.location.replace("%%=v(@url)=%%");

</script> 

 

Email: %%[

VAR @targetURL, @redirectPage

SET @targetURL = AttributeValue("YourFieldNameHere")

SET @redirectPage = Concat("https://CLOUDPAGELINKHERE?url=", UrlEncode(@targetURL))

]%%

 

Link: 

%%=v(@redirectPage)=%%

 

I'm thinking about something similar with mailto links. Does anyone have any thought - or advice on this approach? 

1 answer
  1. Lukas Lunow (NoA Ignite) Forum Ambassador
    Aug 24, 7:59 PM

    Why do you see a need for using redirect in CloudPages to track regular email clicks? Any link in the email, will normally get tracked automatically - unless the entire html code including the full <a href=“”> is placed in one ampscript variable. I would start by verifying your email code, before jumping into cloud page based workarounds.

    Your other question of mailto: tracking is a different story. This will not be possible to achieve, since this is handled locally in the email client, and will not be sorted neither via standard tracking or with a workaround.

0/9000

📣 New certification, new webinar! 

The Marketing Cloud Next Consultant exam launches August 21 and we're pulling together the people who know it best to help you prep. This is the perfect time to get insider tips straight from the source before you dive into studying.  

 

Marketing Cloud Next Consultant: Exam Prep Webinar

 

🗓️    Aug 24, 2026 

 🕛   12:00 PM ET 

Register herehttps://sfdc.co/bOIVsh

 

We've got an incredible lineup joining us:

 

👉  @Melanie Wachs, Certification Exam Senior Manager, Salesforce 

👉 @Jennievee Huseman, Certification Exam Manager, Salesforce 

👉 @Greg Gifford, Senior Director, Enablement, Merkle 

👉 @François Perret, Founder @Bamsoo 

 

If you or your colleagues are thinking about this exam, come learn all about it. Bring your curiosity and your questions.  Who knows, maybe we'll have a couple of surprises. 👀 

📣 New certification, new webinar! The Marketing Cloud Next Consultant exam launches August 21 and we're pulling together the people who know it best to help you prep.

1 comment
0/9000

📣 Two NEW Certifications Are Officially Live  📣 

 

Salesforce Certification program has launched two new certifications on Trailhead Academy: 

 

1. Salesforce Certified Marketing Cloud Next Consultant

2. Salesforce Certified Tableau Next Consultant

 

Here’s more information on each new certification: 

 

Salesforce Certified Marketing Cloud Next Consultant is built for practitioners who work hands-on with Marketing Cloud Next in a consulting or implementation capacity. If you have 6–12 months of experience implementing or configuring Marketing Cloud Next in a customer-facing role, this is for you. The exam validates deep expertise in driving data security, consent governance, scaled personalization, Flow and Agentforce campaign orchestration, and analytics-driven execution. 

 

Salesforce Certified Tableau Next Consultant is for practitioners building and maintaining scalable analytics solutions across the Salesforce ecosystem. It's for people who move fluidly between the core platform and Data 360/Data Cloud architecture—covering user management and Lightning configuration, data streams and DMOs, dashboard building and embedding, and even generative AI capabilities like agent readiness and Draft with Einstein. 

 

 Registration is open. 

  • Register for the Salesforce Certified Marketing Cloud Next Consultant exam here.
  • Register for the Salesforce Certified Tableau Next Consultant exam here.

📣 Two NEW Certifications Are Officially Live 📣 Salesforce Certification program has launched two new certifications on Trailhead Academy: 1. Salesforce Certified Marketing Cloud Next Consultant2.

 

@* Marketing Cloud Engagement * @* MC Account Engagement (fka Pardot) * @Marketer Group, London, UK, @Marketer Group, Indianapolis, US, @Marketer Group, Madrid, ES, @Marketer Group, Philadelphia, US, @Marketer Group, Philadelphia, US, @Marketer Group, Twin Cities, US, @Marketer Group, Austin, US, @Marketer Group, Atlanta, US, @Marketer Group, Jaipur, IN, @Salesforce Marketer Group, Pune, India, @Marketer Group, Mexico City, MX @Trailblazer Community Cove 

4 comments
0/9000

Hi Team 

 

I have published segment in SFMC from data cloud whihc uses relative attributes of DMOs. Because of these relative attributes the data is coming in JSON format. 

 

I am using SSJS script to parse this data however script worked for few records but failing for large data. I have to parse around 3 lakh records or may be more than that. 

 

Is there any other solution to parse segment data so that I can use it further.

5 answers
  1. Aug 21, 3:23 PM

    Got it - if you need every value, not the latest, then scrap the ROW_NUMBER part. But the batch-time pain is the real signal: SSJS is row-by-row and single-threaded, so parsing every subscriber's JSON in-journey will always be slow (your 20-min batches) and blow the journey timing. The fix is to get that work off SSJS entirely. Two reliable ways, both needing one change: land the related data as ROWS - a normalized child DE, one row per value keyed by SubscriberKey - instead of a JSON array in one cell. 

     

    1. Best for 'all values': AMPscript at send time. Keep that child DE and in the email use LookupRows(childDE, 'SubscriberKey', subkey) with a loop to render all of a subscriber's values inline. Each send only touches that one subscriber's rows - no giant pre-parse job, nothing to time out, and it naturally handles however many values a person has. 

     

    2. Or pre-flatten with a SQL Query Activity. It is set-based (whole dataset at once, minutes not hours), so it scales where SSJS cannot. Concatenate all values per person into one delimited field using the FOR XML PATH pattern - note SFMC's SQL engine does not support STRING_AGG, so FOR XML PATH is the way. Output a flat sendable DE. 

     

    Either path removes the SSJS bottleneck; option 1 usually wins when the value-count per person is unbounded. 

     

    If this sorts it, a Best Answer mark would help the next person hitting the same JB timeout wall 🙂

0/9000

Please can you help me in knowing if at all it is possible to connect a  single BU(among 5 BU) of SFMC to multiple data cloud org (dev and test both). I have multi org connector enabled however as per my understanding the multi org connector allows to connect diff CRM orgs to diff BU (one BU >one crm org and not one BU > multiple CRM org)  

 

Can data cloud be connected to only Parent BU or child BU also?

 

I am getting different answers on google and by AI and not sure about this. 

 

#Marketing Cloud #Data Cloud 

5 answers
  1. Lukas Lunow (NoA Ignite) Forum Ambassador
    Aug 21, 7:48 AM

    @Ashwini Bodhade Multi-org connector is usually for pushing data from multiple CRM Orgs into a single SFMC instance, and not for pushing data back to multiple Data Cloud instances, as described here: https://help.salesforce.com/s/articleView?id=mktg.mc_co_multi_org_scenario_examples.htm&type=5

0/9000

Sharing a Postman collection my team maintains for Salesforce API work — SFMC, Data Cloud, Agentforce, and Core in one place. Putting it here because the auth juggling is the part that wastes everyone's afternoon.  

 

What's in it:  

 

01 | SFMC

— Journey Builder entry events, journey definitions, transactional email 

02 | Data Cloud

— the Core→Data Cloud token exchange, streaming ingestion, Query API v2, ingestion schema lookup 

03 | Agentforce & Core

— Agent API session + messages, Flow via REST, Apex REST, SOQL 

04 | Utilities — token verification for both stacks, API limits, sObject describe 

 

The part worth having: a collection-level pre-request script that refreshes the SFMC and Core tokens in parallel and caches them with a 15-minute expiry buffer, so you never paste a bearer token again. Data Cloud still needs its two-step exchange run once per session.  

 

Import the collection + the environment template, fill in your Installed Package and Connected App credentials, and run. Nothing else to configure. No signup — the zip is attached. 

Two gotchas that cost us time, in case they save you some: the Agent API is not under /services/data/vXX/, it's on api.salesforce.com/einstein/ai-agent/v1/

. And the Data Cloud token exchange has to POST to your My Domain, not login.salesforce.com.  

 

If anything 404s in your org, tell me and I'll try to fix it.

0/9000

Our marketing team has been historically creating a new lead for each and every time a person "raises their hand" for a specific product -- like if they filled out a form online or attended a webinar or visited a both, etc. This has resulted in duplicate leads. We are working on correcting this, doing some de-duplication efforts, and making use of campaigns and campaign members to record what marketing interactions a person engaged with. This works but the sticking point is how do we track product interest

-- for example prospect was interested in Product A in January and Product B in July. Could be a current customer or someone we've never done business with before. 

 

My gut reaction is that we use opportunities for this -- every interest in a product is it's own opportunity record that they can work through all the stages -- however sometimes the sales person, account manager, BDR, or Solution Engineer finds out quickly that they are not actually qualified for that product and DQ the "lead" -- if we use opportunities like I was thinking -- we'd have a ton of "garbage" opportunities. 

 

We are migrating from Marketing Cloud Engagment (fka Exact-Target) TO Marketing Cloud Account Engagement (fka Pardot) -- so we are using this as an opportunity to clean house and fix processes 

 

Thoughts/Ideas on how to handle this? 

 

#Marketing Cloud  #Pardot B2b Marketing Automation

2 answers
  1. Aug 18, 7:45 PM

    This is a really common modeling problem, and you are already on the right track with campaigns. The key realization: product interest is a time-stamped many-to-many (one person to many products, each with a date/source), so it should not live as fields on the Lead, a multi-select picklist loses the timeline and does not survive conversion. Two layers that work well together: 

     

    1. Keep using Campaign Members for the 'raised their hand' events, it is the right call. Add a custom Product field (lookup to Product2, or a picklist) on the Campaign so each campaign is tied to a product, then a person's interest history is simply their Campaign Members: 'Product A campaign, January' plus 'Product B campaign, July.' Campaign Members work for both Leads and Contacts and survive Lead conversion, so the history is not lost when a lead converts. You can report interest-by-product by grouping Campaign Members on the Campaign's Product field. 

     

    2. For a cleaner, queryable model, add a custom 'Product Interest' junction object: lookups to Product2 and the person, plus Date, Source/Channel, and a Campaign lookup. That gives you one time-stamped row per interest signal, trivially reportable as 'everyone interested in Product B since June,' and it drives scoring/routing far better than picklists. 

     

    On the Lead-vs-Contact identity snag (the person could be either): the pragmatic pattern is to capture pre-conversion interest via Campaign Members, and once they convert/de-dup to a single Contact, hang the Product Interest records off that Contact. If you have Data Cloud, its Unified Individual solves the same-person-across-Lead-and-Contact problem natively. 

     

    Since this is tagged Marketing Cloud: if you are on Account Engagement (Pardot), Scoring Categories are purpose-built for this, a separate interest score per product line, so one prospect can score high on Product A and low on Product B independently. Pair that with the campaigns above and you get both the engagement history and a per-product interest score. 

     

    Net: campaigns (with a Product field) for the event history + a Product Interest junction object for the clean many-to-many, converge everyone to a single Contact, and use Pardot Scoring Categories per product if you have AE. 

     

    If this helps, please mark it as the Best Answer so it is easy for the next person to find. Thanks :)

0/9000

Anyone migrated a live WhatsApp number into a Unified Messaging WABA with existing MCE journeys running? Can you actually edit the App Channel on a WhatsApp activity in a paused journey? Docs imply yes, our testing says no.

1 answer
0/9000
5 comments
  1. Aug 17, 10:40 PM

    What date will the Release Matrix for Winter 27 be available? 

0/9000