Number 2 below is an answer.
There are several ways to send SMS in a sort of "batch" process.
Automation Studio > Send SMS
Journey Builder > Send SMS
When you run this through Automation Studio, mobile numbers are de-duplicated automatically. However, when I run this through Journey Builder (pointing to the audience DE), duplicates ARE in ...
If you are not looking for a random DE and need to do this in an automation - I have done this before with SELECT TOP.
Something like this -
SELECT TOP 6000 FROM DataExtension -- insert into DataExtension1
Then on your next query
SELECT TOP 12000 FROM DataExtension WHERE ID NOT IN (SELECT ID from DataExtension1) (or do a join)
...and it grows from there.
No need to do this with SQL. Within the UI you can split a data extension at random and can control the number of records in each segment: https://help.salesforce.com/articleView?id=sf.mc_es_create_random_de.htm&type=5&sfdcIFrameOrigin=null
Are you using preview for your cloudpage? Can you try setting it live?
Recently, there was news that preview behavior of cloudpages is now similar to Emails: Problem using Subscriber | WSProxy inside a CloudPage
The documentation for Rows.Retrieve says that
"The Retrieve function cannot be used in the context of an email message or email preview."
I would do the same as you but I would also add this format function to change it to date format (from Date Time):
%%[ var @localDate
set @localDate = Format(SystemDateToLocalDate(Now()),"MM/dd/yyyy")
RESULT EG: 04/22/2021
You should just ditch the dynamic content modules and script your blocks with AMPscript.
I'd suggest an init placeholder in your template or a simple code block at the top of your email. Assuming you can relate to your new data extensions via the sendable field, you can supplement the send context by doing a lookup and setting a new set of AMPscript ...
SELECT DISTINCT works on the entire row, not a single field.
I like to use a partition to pick one of the duplicate rows:
select top 1 with ties
from YOURDATAEXTENSION d
order by row_number() over (partition by d.emailAddress order by d.insertedDate desc)
The row_number() over (partition by will number rows ...
The order is first determined by the order in which the Data extensions are added to the send. THEN ordered by subscriberid ASC within each DE
So DE1 Subscribers
DE 2 subscribers
Would send in this order 2/4/6/8/1/3/5/7/9
See Salesforce's documentation on this.
If you're updating AMPscript, the documentation states that you need to pause and republish its associated triggered send via Interactions > Triggered Sends > Journey Builder Sends. Once you've updated your email, do the following:
Navigate to Interactions > Triggered Emails > Journey Builder Sends, to ...
So officially you will not be able to get a list of Data Extensions via REST API, but there is an undocumented endpoint that can get it for you.
Note on undocumented endpoints:
Please note that all undocumented endpoints are not officially supported or maintained by SFMC. So at any moment, the endpoint could be altered, removed, broken or throttled - making ...
First of all: you will not be able to list all the data extensions in a single API call, and definitely not using REST. Using SOAP will get you there, but requires a combination of few different calls.
Initially you will need to retrieve data extension folders, using guidance found here. Here is also a thread here on SFSE, which might be helpful.
Then, for ...
The first thing I always check is field data types
Do you have 1 and only 1 field in the DE with data type 'EmailAddress'
Then you could have any of the following
Bounced / Held
As an addendum to the great answer above.
On an external page, there are plausible scenarios where JobId cannot be determined. E.g. the recipient is not coming to the page from an email, but for example logs in to a customer account in another system and gets access to a custom subscription center there, connected via APIs.
If the external page POSTs to an ...
This behavior started occurring in a recent Marketing Cloud release. It occurs when you preview the CloudPage before publishing. It appears that Salesforce has changed the way that CloudPages are interpreted (and now use the same process as email previews). If you publish the page, then this error should not occur and your code will be interpreted correctly.
Given what you've described, it would be worth looking at this guide to claiming coupon codes by the excellent Adam Spriggs: https://sprignaturemoves.com/coupon-claiming-in-ampscript/
This utilises the ClaimRow function in AMPscript.
You'll need a data extension where the field for your coupon/discount code is the primary key (you presumably already have ...
I found something in "my documentation", original source is Salesforce Partner Community from 06/2019. I can share the deeplink if you have access. All of the following is a full quote, I am just not using the syntax so it works with the code samples:
"In the past, when you refresh fully copy sandboxes, the MC connector connection on the ...
I spoke to the Salesforce Support and we came up with the following solution. After the submit the variables for the UTM parameters weren't being generated in time. To fix this the following hidden form:
<input name="utm_source" type="hidden" value="%%=v(@UTM_Source)=%%"><br>
<input name="utm_medium" ...
I would advocate SQL as Gortonington says, but if you want to do this as a one-off and don't want to use SQL, you can do this (will take longer though):
Go to Tracking > Sends
For the two emails you're referencing, go to the tracking screen and export the sent lists, adding the subscriber key field at a minimum
Create a sendable data extension with ...
In the majority of places, Marketing Cloud uses Central Standard time with no Daylight Savings.
Within the last few years, SFMC started supporting the AT TIME ZONE directive in Query Activities. With that you could do something like this in your query:
FROM ENT.[User] u
INNER JOIN Player p ON u.UserId = p....
Transactional Send Classifications:
Ignore Status "unsubscribed" on the All Subscribers List and send anyway. (They do respect status "held".)
do not feature a list-unsubscribe header in the Email headers.
Commercial Classifications do the opposite. (and of course also respect "held" status)
In short: You cannot unsubscribe ...
This has happened more than one - I upload a new journey / email - and when i go to send it i can preview - but i can't edit - instead i get an angry red:
An error occurred while rendering the email preview. Ask your Marketing Cloud admin to check the connected journey.
What am i doing wrong???
This is the order of operations:
Order of Operations
AMPscript processes functions in this order:
1 HTML Body
2 Text Body
3 Subject Line
Any preheader values reside
at the beginning of the body and process accordingly.
It looks as though replacing the shorthand opening/closing tags (%%[ ]%%) with the longform does fix the issue for some strange reason.
This is within the context of a Code Snippet block in the email editor.
<script runat=server language=ampscript>
SET @i = 0
SET @text = "You are <0>amazing</0>."
SET @closeTag = concat("</...
Conditional AMPscript logic can be used in the template to surround the slot(s).
%%[ IF 1 == 2 THEN ]%%
<div data-type="slot" data-key="interactivecontent" data-label="Interactive Content Section"></div>
%%[ ENDIF ]%%
Although @Jonas Lamberty is right in some areas, I had to put up another answer as I disagree with other parts and want to share in case it helps someone else:
reference for this info
VARCHAR INSTEAD OF DATE:
You can't easily add / subtract days to the VARCHAR version.
It is harder to extract just month / year.
There is nothing stopping you putting non-...
I had the same problem, you should just replace your contactKey with a correct one (ex : 2vcb380e-04db-1240-ceaa )
You can also test this working request :
Authorization: Bearer YOUR_ACCESS_TOKEN
You can't return the fields that you specify by querying Mobile Lists. Somehow, MC only lets you retrieve SubscriberKey from Mobile Lists both for MobileConnect and MobilePush.
You can use MobileConnect data views to retrieve all the fields available on MobileConnect Data. Please check this link to see available fields and data views. From these data view, ...
Yes, re-importing the contacts manually opts in the contacts to the specific keyword you select in the import wizard.
There are two other ways of re-opt in contacts to a keyword.
Contact API. Refer the answer here
Queue MO API
In both cases, you need a create an optin in response message and activate it. Be mindful, that if you use the Queue MO API, the ...
If you do a retrieve call on this object(DE) you will get the fields that are queryable.
But the only useful one is Subscriberkey it appears all the other fields have the same values for the entire audience
I took your code that "doesn't work", and it does indeed work.
copy / pasted example two (yes, I made sure) onto a cloudpage, added the AMPscript tags and wrote the output:
SET @i = 0
SET @text = "You are <0>amazing</0>."
SET @closeTag = concat("</", @i, ">")
SET @tag = @closeTag
SET @tagLen = ...
Search for the iGoDigital Tealium Integration.
The cartridge will send a Product Catalog to Marketing Cloud FTP. This needs to be imported into the Marketing Cloud Einstein Recommendation engine.
This is a common feature request - stay tuned for updates.
The contacts you import or sync via Salesforce will look like completely new subscribers in the All Subscribers list as they'll have different subscriber keys. Unsubscribes etc are processed at the subscriber key level - not the email address level, so you will need to do some work to sync the status values.
This is something you can control. When ...
One benefit is, you can do comparisons like DateAdd().
You can also insert auto-generated values for "current date".
You can at any time reformat data in date fields using built in functions in SQL and AMPScript (e.g. FormatDate)
None of this works for text, and there are possibly more things that elude me now.
The main downside is, marketing ...
You will have hard time fetching these values with SSJS, as the request you are executing is done in frontend Java Script (where SSJS is running in the backend). This means, that the response received is "too late for the party", as your SSJS has already finished executing, when the content of your Google Sheet is returned to the page.
I will ...
The only way I can see this being done, is somehow you can pull the dependency of the short code. Because when you see the short code under the administration view, you see all the messages (even when the message is in drafts). But it seems like it is not possible. The only turn around could be, if you could do a test send on the message you created and then ...
This depends on how your leads from Facebook are imported to Salesforce.
For different lead sources - I have different forms with different hidden fields.
My FB form has the hidden field Lead Source = Facebook and another hidden field indicating that they are a new lead.
If both of these fields are selected - I have Marketing Cloud set to send emails until ...
There is unfortunately no method for sending a real time email upon submission of a lead capture form from Facebook. At least using the standard Lead Ads solution in Advertising Studio. You can build a solution utilising Automation Studio, but you will be limited to the frequency of scheduled automation executions.
What is worth clarifying is which Contact/...
Refer to the dataview doc: SMSMessageTracking
Identify the name of the SMS message that you want to check on the MobileConnect Overview page.
To retrieve the MessageID, click the message name.
On the message Overview page, note the URL:
Copy the Base64 encoded text.
Use an online Base64 decoder to decode the Base64 encoded text.
The result appears in this ...
You have to specify if you only want unique opens -- otherwise, _Opens reflects every open of an email by a subscriber:
o.SubscriberKey as 'EMAIL'
, o.eventdate as 'Data_abertura'
AttachFile is an option that comes with a cost.
You need to contact your account executive to get this enabled.
Also each time you will send with a FILE it will consume an attachmessage count. And you will have to decide how many attachmessages you will license.
You need to understand the data structure you are dealing with, and how parsing it works.
The reason is that
Platform.Function.AddObjectArrayItem(rr, "Properties", "SubscriberKey");
, more specifically "AddObjectArrayItem" ADDS Subscriber Key, which is stored in the data extension as an OBJECT (a key:value pair), to the ...