Leads limit for importing leads using bulk api call in marketo - marketo

Anyone know the max leads limit for importing leads in bulk using the REST API?

There is no predefined limit for the number of leads that can be imported through the Import Lead REST API endpoint. But there is a file size limit of 10MB in place that does act as the relevant limit in this case. So the number of leads that can be imported goes down, as you increase the number of fields/attributes per lead.
I updated the Marketo API documentation to clarify this.

Related

Google Analytics Add-on limitaions

I would like to get some data from GA via spreadsheet add-on as I did a few weeks ago (I gathered ~200 000 rows). I am using same metrics, dimensions and rest of the settings but I am still getting this error :
https://i.stack.imgur.com/hTpIg.png
I found that I will get some data when I do not set up "max-results", but the default is set up on 1000 which is not enough for my needs. Why?
What I have tried to solve this problem and it doesn’t work:
change GA views
change dimensions and metrics
change time range
create new spreadsheet
set up sharing settings of spreadsheet to "public on web"
I found the link regarding limits and quotas on API (https://developers.google.com/analytics/devguides/config/mgmt/v3/limits-quotas#) and I should pass only through 50 000 requests per project, which I actually exceed on the first run, so another question how is it even possible to get more data than I suppose to get?
Should I really order more request or does "request" mean anything else than "one row"? Second why or what?
There is no any interpretation for the error.
Perhaps I am missing something, appreciate your help.
In short: while one could only guess what causes your problem it's most certainly not the API limit. Rows and requests are not at all the same, every request may fetch up to 10,000 rows.
"Request" is a call to the API, which might include one or many rows of data (unless your script somehow only requests one row at a time, which would be unusual).
If you exceeded your API quota the error message would say pretty much that.
The default is 1000 rows because that's a sensible default (compromise between convenience and performance). The API will return max 10,000 rows per request. To fetch 200 000 results the Add-on would have to do 20 requests, not 50 000.
Also a Google spreadsheet support 2mio cells at max, this might be exceeded by your result set.
"Service error" is a very unspecific error message which can be caused by a variety of causes from out-of-bound ranges to script timeouts or network latency. Sometimes the spreadsheet service dumps an additional error message in the browser console, so you should check your developer tools.

Woocommerce API limits AND ussing less resources

I was reading the documentation at:
http://woocommerce.github.io/woocommerce-rest-api-docs/
I am trying to figure out the limits for the API for the following methods
$woocommerce->get products/tags
$woocommerce->get products/categories
$woocommerce->get products/categories
$woocommerce->post products/tags
$woocommerce->post products/batch
For these methods I want to know how many items I can get or save at once. (Batch save for example I want to save 50 at a time; or for getting products I want to get 50 at a time (per page))
Also I am trying to figure out best practices to use less resources on both consumer of the API and receiver of API. Right now in development I have them both on the same machine and the fan really gets going on my laptop
The majority of work is done in products/batch. I am sending almost 4k items in batches of 50.
I know a service that uses WooCommerce says that their API calls are rate-limited by IP to 86400 calls per day (one per second on average).
That is their service so implies you can go same or higher for WooCommerce
Source: https://github.com/Paymium/api-documentation#rate-limiting

Google Analytics: How to overcome payload size restriction?

I use Google Analytics Enhanced E-commerce for some shops. On catalog page I have many products and I need to track their impressions. I do not track each product one-by-one, cause it will cause many requests, instead I add all of them through .ec:addImpression and then track entire pack by sending single pageview.
And everything was going well until I faced a problem, that on page with too many products requests to collect stopped working with no error. I've installed analytics debugger for Chrome and found out, that I've exceeded a payload limit, which is set to 8 KB (according to official documentation):
payload_data – The BODY of the post request. The body must include
exactly 1 URI encoded payload and must be no longer than 8192 bytes.
And this is fine, but here's my question: is there any way to overcome this restriction? Maybe some option or method, that will allow not to bother about payload size and it will be automatically split into proper chunks? Or at least a method to get a payload in run-time to check its size. I run through documentation and found nothing.
Note: currently I manually track a "safe" number (which was discovered by experience) of products added by addImpression and then send them by non-interaction pageview hit. Of course, this solves my problem, by I want to know if there's a built-in solution.
Another possibility is to send only true impressions, that is, only for those products/items that the user is actually seeing above the fold. Not all products that you are sending impressions for are actually seen by the user until they scroll down the page below the fold. So this would require a modification to the implementation where you send your impression data as the user scrolls down the page and reveals more products. You can likely send more information with each product and still not exceed the payload, and you get a more accurate measure of your impressions.
Create a product data import that matches your product ids to product to product attributes (name, category, price etc). Wait until the data is processed, then change your tracking code so that only product ids are sent.
That should shrink down the request body enough to send all products, and the ids will be joined with the imported data when the incoming hits are processed.
Imported data is not applied retroactively, so it'S important that you do the data import first.
AFAIK there is no way to get your payload size from google analytics and it's a crying shame that analytics.js does not handle this issue automatically since the analytics.js library which constructs the payloads is best suited to handle this and thus minimise load on Google's servers...
I like Eike's solution, though if your products change a lot it might require automation. As #nyuen implies - sending only real impressions may help and is more accurate.
Another trick is to send the impression one at a time. (As shown or on page load) This will require the smallest change and reduce the payload to well bellow the limit.

import all dimensions and metrics from Google analytic s API through R

I am using RGA library to query data from Google analytics using R.
What I need:
I need to import all dimensions and metrics from the GA API. Though I understand that all dimensions and metrics are not compatible to be queried together, but there has got to be some way to import all in one query?
Since we are just storing data in the warehouse at the moment, I need to import and store all of it.
Is there a way I can get around this without having to specify every dimension and metric specifically?
You can extract 7 dimensions and 10 metrics per query. There are over 400 dimensions and metrics available. There is no 'database export' option in Google Analytics -- what you seek does not exist.
Google doesn't allow this for several reasons including the protection of their practices, data privacy, and the fact that it would be an absolutely massive drain on them.
A metric like 'Users' simply can't be all downloaded unless you have access to the actual hit data, and the associated client IDs, which Google will never give you.

Get more than 7 dimensions in google analytics

I am fetching my data from google analytics core api. I came to know that we can fetch only 7 dimensions using api, But here I need to fetch more than 7 dimensions with correct metrics. Is there anyway (other than using paid google analytics) to fetch more than 7 dmensions with correct metrics from google analytics.
If not, then is there any mathematical formula through which we can find intersection of dimensions fetched using 2 different dimensions having one dimension in common.
Thanks
The only way I have found around the 7 dimension limit is to be creative with filters. It will mean that you are sending more queries to the server, but if you aren't worried about your quota limit then its doable.
Example: ga:visitorType only has two values. New Visitor, Returning Visitor
So you could run a query with your 7 dimensions. Then add A filter ga:visitorType=New Visitor then run the same 7 dimensions with a filter added of ga:visitorType=Returning Visitor
Bingo you just got an 8th dimension.
Again you need to be a little careful because you are going to increase the number of queries you run by each value of dimension you are doing creative filtering on. I wouldn't recommend doing it with say ga:landingPagePath because the number of landing pages you have is to big. You will end up running too many queries. But there are a few you can do this with. ga:isMobile, ga:deviceCategory, ga:date. Just remember the more creative filters you add the more queries you end up running. I had one where I ended up expanding it to 80 requests just to get the data back I needed. Scary but it worked.
If you have specific dimensions that can be used to identify a session at a specific time (e.g. a session ID and browser timestamp), you can execute multiple queries then patch them together.
I built a python program that will do exactly this: https://github.com/aiqui/ga-download
This program can bring together multiple groups of dimensions, so that any number of dimensions can be downloaded and combined into a single CSV file.

Resources