Setting up some emails in Marketo (only to a client list where people opted-in).
I have about 2700 contacts after filtering them, but I don't want to send out 2700 emails at once. I want to send out about 100 per day.
The reason is that the sales team will quickly get overwhelmed if we send out 2700 emails, even if we only get a low percentage of responses.
Ideally, Marketo would have an option to "quit after X emails".
I know there's a random sample option, which I can set to 4%, but I'm using a smart list (actually a smart list where the contacts aren't in another smart list), and the random sample only works in a regular list to build it.
It's not really an option to create 20 lists and run one each day, even using random sample of 5%. Even if it was an option, this email is intended to run for at least several months as it slowly picks up new contacts.
Has anyone found a workaround for this need? We can't be the only ones who have this problem.
just use 'random sample' combined with 'run once' in the Schedule tab. Then set a recurring schedule so the Smart Campaign runs daily. Every day it will send the email to 4% of your Smart List, but excluding the people who already received the email. You can only set it to a percentage, not to an absolute number, so the absolute number of emails that goes out every day will vary on the smart list size. Periodically, you probably want to adjust the percentage so you can optimize the total number of emails that go out daily.
Related
So lately I have been trying to figure out if there's a way to find emails inside the phone mail box(either default one, or a chosen one, doesn't really matter at this point), that was sended too or by a specific email address.
I have read about enough_mail and imap_client but both of them offer an option to fetch a range of messages, without the option to filter by the sender.
Its worth mentioning that I wouldn't want to get a range of lets say one year emails (which also couldn't really be estimated using a number to decide what amount of messages I want to fetch, what I saw the packages offer) and iterate through them and check, its not efficient at all.
*A solution to send an email using flutter is not relevant AT ALL
Is there any way to do it using this packages, or any other options?
Thank you.
I am trying to create an alert on my saved search that will email when any of our sales channels do not have an order created within 2 hours.
This is the results criteria for the saved search
The lead source are the sales channels, and maximum of date created is the last time there was an order created. If it goes past 2 hours I want to be notified via email.
This is not possible to create purely within the UI.
You could create a scheduled script which will load the search, parse the results for any that are older than your threshold, and send the email from the search. This would run periodically depending on your deployment settings. Scheduled scripts can be deployed to run every 15 minutes, so the latest order may be up to ~2:15 old before the alert is sent.
Another approach may be to use a workflow which initiates on record creation and then has a 2 hour delay. Following the delay it could run a search for any newer orders, then if any are found it could simply exit, or if no newer orders are found it could proceed to sending an email. The actual implementation of running the saved search and acting based on the results will probably require a SuiteScript custom workflow action.
I need to write a windows service to send emails. The emails will likely be stored in a database table and they should be sent as early as convenient. It would be advantages to have multiple threads sending messages as there will be hurts at certain times of the day however it is not good to send the same message multiple times.
So I'm having a little bit of trouble understanding in this kind of scenario how I can best leverage quartz.net to alleviate some of queueing and concurrency issues. So my architecture questions are:
1. For this kind of scenario, is it best for a Job to check if there are emails to send or should a job be to actually send one email?
2. If the answer to 1) is to check for emails to be sent then that would leave me with a concurrency issue and I would need to use DisallowConcurrentExecution which would result in only 1 email being sent at a time?
3. If there answer to 1) is send a single email then I take it the job details would need to reflect the specific ID of the email to be sent?
4. In either case - two web users could trigger the creation of the same email job (concurrently). So it doesn't seem that Quartz really helps solve my problem - it might provide a nice architecture for a unit of work and controlling polling frequency but not really the core of my problem? Or am I mssing / over thinking something?
Finally, just to be clear, each email relates to a specific Order so there is ID and state potential. So because two web users can send the same email at the same instant in time should not result in two emails being sent.
Look forward to any advice.
Thanks
Josh
Quartz.Net would meet your scheduling needs.
However, you have conflicting needs. You want "more than one thread" to send the emails, but you also want "Do not want duplicate emails".
The DisallowConcurrentExecution will prevent multiple instances of the same job running at the same time. However, if you have only one instance of the job running, you don't know which individuals emails have been sent or not sent.
If you only keep "these emails have been sent, and these haven't" in memory.....you're always at risk of sending duplicates.
You can solve this, but you're gonna have to have a "pessimistic" flag on which emails have already been sent. Like at the database level.
So if you want multiple threads to send emails...that's ok. But your "get some emails to send" code is going to have to 'mark' the emails it is working on. (So the next thread doesn't get them). Then you have to mark them again right after they are sent.
Quartz is good for scheduling the "when" your jobs run. But it doesn't have the ability to "track" which emails you need to send and which ones have already been sent. That's gonna be your responsibility.
I had this similar problem....where I had many many users trying to "get at" a bunch of to-do items. Thus why I wrote this blog entry for Sql Server. I needed to "mark" the rows, but also had to order them before I marked them.
http://granadacoder.wordpress.com/2009/07/06/update-top-n-order-by-example/
I also added some "hints".......
WITH ( UPDLOCK, READPAST , ROWLOCK ) –<<Optional Hints
because so many different users were trying to "get-at" the items.
(Think about how T1cket M#ster has to work.......there has to be some pessimistic locking on the tickets....and they have a timer that releases the locks if you don't buy the tickets in time).
Hope that helps.
I have a google spreadsheet which helps us to track some stocks prices from the NASDAQ and DOWJONES. When I open the spreadsheet the prices automatically refresh via google finance built-in functions.
That is, for instance, the Apple price in a certain cell:
=GoogleFinance("AAPL";"price")
So far so good. Now we have a target buying price for each value and when the price falls below our target price we get an alert. I have written a script so that when this happens it sends me an email notification. Moreover, I have also configured a time-driven trigger which executes the script every 5 minutes.
But WHAT I really need is the WHOLE spreadsheet to open every 5 minutes not just only the script so that the Google finance funcions load and get the updated stock prices.
Is there a way to do that?
Not sure if this is the best approaching for a stock tracking spreadsheet so any ideas will be highly appreciated.
A standalone script will open a spreadsheet but it does not wait for the functions like GoogleFinance to complete so you may need to put in an explicit wait or loop until complete
I'm involved in building a donation form for non-profits. We recently got hit by a fast round of low dollar submissions. Many were invalid cards, but a few went through. Obviously someone wrote a script to check a bunch of card numbers for validity, possibly so they can sell them later.
Any ideas on how to prevent or limit the impact of this in the future?
We have control over all aspects of the system (code, webserver, etc). Yes the form runs over https.
When a flood of invalid transactions from a single IP address or small range of addresses is detected, block that address / network.
If a botnet is in use, this will not help. You can still detect floods of low dollar amount submissions and so deduce when you are under attack; during these times, stall low dollar amount submissions to make them take longer; introduce CAPTCHAs for low dollar amount donations; consult your bank's fraud prevention department in case they can make use of your server logs to catch the perpetrators.
Force donors to create accounts in order to make donations; protect account creation with a CAPTCHA, and rate limit donations from any one account.
Raise the minimum permissible donation to a point where it no longer makes financial sense for the scammers to use you in this way.
Instead of CAPTCHAs, which will annoy users, you might want to take advantage of the fact that most people have javascript enabled while bots don't. Simply create a small piece of javascript that when run inserts a particular value in a hidden field.
For those that have Javascript disabled you can show the CAPTCHA (use the <noscript> tag), and you can then accept a submission only if either of these measures check out.
For maximum annoyance to evildoers you could make the difference between the succeed message and the failure message computationally hard to distinguish (say everything is the same, except for one picture that displays the message) but easy to understand for humans.
limit submissions from the same IP address to one per minute, or whatever reasonable period of time it would take for a real person to fill out the form
Raising the minimum donation to a point where it no longer makes financial sense for the scammers to use you in this way will help in general.
This. How many legitimate donations do you get for under 5 bucks, anyway?