All things Shopify and commerce
Hello, this is cross posted in the tech thread, too. I'm not very tech savvy so I'm looking for some assistance. I am trying to upload my date source to Pinterest to create a catalog. Do I just use the format "yourshopname.com/collections/all.atom? My report status keeps saying failed. I went and checked the errors and I don't see what the problem is. Maybe I'm doing it wrong?
Thanks in advance.
Donna
Homadestudio.com
i'm having the same issue
This worked for me
https://YOURSTOREURL/collections/all.atom
Then select CSV and no password
@Jim_West wrote:This worked for me
https://YOURSTOREURL/collections/all.atom
Then select CSV and no password
I did this and made some headway. But got a response that 25 (seemingly random) products had errors that didn't allow the catalog to upload. The errors listed don't make much sense either since they claim there is no product description is missing in the metadata, link is missing from metadata, image link is missing from metadata, and so on.... Again, there is no rhyme or reason as to how these specific products are picked out. I don't understand why it isn't the whole catalog with these issues. Only 25 products. Thoughts on why this would be? Have you had similar issues after you used your data source URL?
Did you use the Shopify URL or your domain URL?
xx.myshopify.com or your domain URL?
Domain URL. I'm wondering if the issue I'm having is related to that though.
I tried the Shopify url and that one didn't work at all. I'll know tomorrow if the domain one works for me.
The exact same thing just happened to me. 25 errors for no reason that's preventing me from using this service. Did you figure out what was causing that issue?
@Twentyfivefifty wrote:
@Jim_West wrote:This worked for me
https://YOURSTOREURL/collections/all.atom
Then select CSV and no password
I did this and made some headway. But got a response that 25 (seemingly random) products had errors that didn't allow the catalog to upload. The errors listed don't make much sense either since they claim there is no product description is missing in the metadata, link is missing from metadata, image link is missing from metadata, and so on.... Again, there is no rhyme or reason as to how these specific products are picked out. I don't understand why it isn't the whole catalog with these issues. Only 25 products. Thoughts on why this would be? Have you had similar issues after you used your data source URL?
Nope. I did contact Shopify support and got the usual "send us screenshots and here's some articles to read". I haven't had the time to get them screenshots or read the same articles I already read (that seriously need updating). I've been meaning to contact Pintrest directly, but from their help community articles it seems they just want you to make "pins" for each product but customers can't buy from Pins. Still don't understand the '25' products thing either. I'll try to contact them this weekend and see what the response is. Additionally, I'll try to get with Shopify again as well. I just don't understand why they don't have a straight answer for this issue. We're not the only ones with this problem are we? I think I'll shout out to some facebook groups to see if anyone else has managed to push through this issue already. I'll post my results here. It would be appreciated if all did the same.
I reached out to Pinterest and they said to talk to Shopify... I will do that, but I doubt that will go anywhere
This has nothing to do with the issue at hand - we are discussing catalogs, not rich pins.
I am still looking for some help on this. I have used this code to work on other feeds but for some reason Pinterest is giving me an error.
Here is what i have done using the code i used for other feeds, with a minor pinterest change (again this is not working, and maybe someone sees the error);
1- Make a new Collection called 'Pinterest Feed' - Make sure you add in ALL products that have inventory
2- Make a new Template collection.pinterest.feed.liquid
3- add the following code (Note the Google product Category will need to be built out based on your shops needs)
{% layout none %}<?xml version=“1.0”> <rss xmlns:g="http://base.google.com/ns/1.0" version="2.0"> {%- paginate collection.products by 1000 -%} <channel> {%- for product in collection.products -%} {%- if product.variants.size > 0 -%} {%- for variant in product.variants -%} <item> <g:id>shopify_US_{{ product.id }}_{{ variant.id }}</g:id> <g:title>{{ product.title | strip_html | strip_newlines | replace: '&', '&' }}</g:title> <g:description>{{ product.description | replace: '</', ' </' | strip_html | strip_newlines | replace: '&', '&' }}</g:description> <g:link>{{ shop.url }}{{ variant.url }}</g:link> <g:item_group_id>{{ product.id }}</g:item_group_id> <g:availability>{% if product.available %}In Stock{% else %}Out of Stock{% endif %}</g:availability> <g:condition>new</g:condition> <g:Size_Type>regular</g:Size_Type> <g:image_link>https:{% if variant.image.src %}{{ variant.image.src | product_img_url: 'grande' }}{% else %}{{ product.featured_image.src | product_img_url: 'grande' }}{% endif %}</g:image_link> {%- if product.type contains "Kids" -%} <g:agegroup>kids</g:agegroup> {% else %} <g:age_group>adult</g:age_group> {% endif %} <g:gtin>{{ variant.barcode }}</g:gtin> {%- if product.type contains "Women" -%}<g:gender>Women</g:gender> {%- elsif product.type contains "Men" -%}<g:gender>Men</g:gender> {% else %} <g:gender>Unisex</g:gender> {% endif %} <g:mpn>{{ variant.sku }}</g:mpn> <g:product_type>{{ product.type | replace: '&', '&' }}</g:product_type> <g:google_product_category></g:google_product_category> </item> {% endfor %} {% else %} <item> <g:id>shopify_US_{{ product.id }}_{{ variant.id }}</g:id> <g:title>{{ product.title | strip_html | strip_newlines | replace: '&', '&' }}</g:title> <g:description>{{ product.description | replace: '</', ' </' | strip_html | strip_newlines | replace: '&', '&' }}</g:description> <g:item_group_id>{{ product.id }}</g:item_group_id> <g:condition>new</g:condition> <g:Size_Type>regular</g:Size_Type> <g:availability>{% if product.available %}In Stock{% else %}Out of Stock{% endif %}</g:availability> <g:image_link>https:{{ product.featured_image.src | product_img_url: 'grande' }}</g:image_link> {%- if product.type contains "Kids" -%} <g:age_group>kids</g:age_group> {% else %} <g:age_group>adult</g:age_group> {% endif %} <g:gtin>{{ product.barcode }}</g:gtin> {%- if product.type contains "Women" -%}<g:gender>Women</g:gender> {%- elsif product.type contains "Men" -%}<g:gender>Men</g:gender> {% else %} <g:gender>Unisex</g:gender> {% endif %} <g:mpn>{{ product.sku }}</g:mpn> <g:product_type>{{ product.type | replace: '&', '&' }}</g:product_type> <g:google_product_category> </g:google_product_category> </item> {% endif %} {% endfor %} </channel> </rss> {% endpaginate %}
4- In your collection page change the template to the new Pinterest collection you have created.
In theory this should work, as it works with other feeds I currently use. However, i get the same error "Your Feed file has an XML formatting issue. Make sure you are missing a tag"
If anybody can see what i am missing that would be super helpful and it will solve everybody's issue here as well.
thanks.
Ok I solved it. Had one small issue i overlooked. This now 100% works for me. You will need to add in your proper Google Product Categories based on how you store functions.
1- Make a new Collection called 'Pinterest Feed' - Make sure you add in ALL products that have inventory
2- Make a new Template collection.pinterest.feed.liquid
3- add the following code (Note the Google product Category will need to be built out based on your shops needs)
{% layout none %}<?xml version="1.0" encoding="UTF-8"?> <rss xmlns:g="http://base.google.com/ns/1.0" version="2.0"> {%- paginate collection.products by 1000 -%} <channel> <title>Pinterest Date Feed</title> <link>[Your Store NAME]</link> <description>Feed for Pinterest catalog</description> {%- for product in collection.products -%} {%- if product.variants.size > 0 -%} {%- for variant in product.variants -%} <item> <g:id>shopify_US_{{ product.id }}_{{ variant.id }}</g:id> <g:title>{{ product.title | strip_html | strip_newlines | replace: '&', '&' }}</g:title> <g:description>{{ product.description | replace: '</', ' </' | strip_html | strip_newlines | replace: '&', '&' }}</g:description> <g:price>{{ variant.price | money_without_currency }} USD</g:price> <g:link>{{ shop.url }}{{ variant.url }}</g:link> <g:item_group_id>{{ product.id }}</g:item_group_id> <g:availability>{% if product.available %}In Stock{% else %}Out of Stock{% endif %}</g:availability> <g:condition>new</g:condition> <g:Size_Type>regular</g:Size_Type> <g:image_link>https:{% if variant.image.src %}{{ variant.image.src | product_img_url: 'grande' }}{% else %}{{ product.featured_image.src | product_img_url: 'grande' }}{% endif %}</g:image_link> {%- if product.type contains "Kids" -%} <g:agegroup>kids</g:agegroup> {% else %} <g:age_group>adult</g:age_group> {% endif %} <g:gtin>{{ variant.barcode }}</g:gtin> {%- if product.type contains "Women" -%}<g:gender>female</g:gender> {%- elsif product.type contains "Men" -%}<g:gender>male</g:gender> {% else %} <g:gender>unisex</g:gender> {% endif %} <g:mpn>{{ variant.sku }}</g:mpn> <g:product_type>{{ product.type | replace: '&', '&' }}</g:product_type> <!--- Add your google product info here (and deleted this note)---> {%- if product.type == "xxxx" -%} <g:google_product_category>xxxxxxx</g:google_product_category> {%- elsif product.type == "xxxxx"-%}<g:google_product_category>xxxxxx</g:google_product_category> {% endif %} </item> {% endfor %} {% else %} <item> <g:id>shopify_US_{{ product.id }}_{{ variant.id }}</g:id> <g:title>{{ product.title | strip_html | strip_newlines | replace: '&', '&' }}</g:title> <g:description>{{ product.description | replace: '</', ' </' | strip_html | strip_newlines | replace: '&', '&' }}</g:description> <g:price>{{ product.price | money_without_currency }} USD</g:price> <g:item_group_id>{{ product.id }}</g:item_group_id> <g:condition>new</g:condition> <g:Size_Type>regular</g:Size_Type> <g:availability>{% if product.available %}In Stock{% else %}Out of Stock{% endif %}</g:availability> <g:image_link>https:{{ product.featured_image.src | product_img_url: 'grande' }}</g:image_link> {%- if product.type contains "Kids" -%} <g:age_group>kids</g:age_group> {% else %} <g:age_group>adult</g:age_group> {% endif %} <g:gtin>{{ product.barcode }}</g:gtin> {%- if product.type contains "Women" -%}<g:gender>female</g:gender> {%- elsif product.type contains "Men" -%}<g:gender>male</g:gender> {% else %} <g:gender>unisex</g:gender> {% endif %} <g:mpn>{{ product.sku }}</g:mpn> <g:product_type>{{ product.type | replace: '&', '&' }}</g:product_type> <!--- Add your google product info here (and deleted this note)---> {%- if product.type == "xxxx" -%} <g:google_product_category>xxxxxxx</g:google_product_category> {%- elsif product.type == "xxxxx"-%}<g:google_product_category>xxxxxx</g:google_product_category> {% endif %} </item> {% endif %} {% endfor %} </channel> </rss> {% endpaginate %}
4- In your collection page change the template to the new Pinterest collection you have created.
5- Go to pinterest and submit your new XML feed and wait 24 hours.
6- Enjoy.
Well it's actually two things that are store specific based on the code i wrote. The Gender tag and the Google Product Category tag.
How I have done it is to use the 'Product Type' and map it to the Google Product Category. The one problem is, if you have a lot of products this is time consuming to map out. Hopefully you would only need to do it once. If you add additional Product Types later you would need to update this. I would not be able to answer how to do this, as it is store specific on how you named all your Product Types. It is possible to do this via tags as well, if your product types are not that gradular.
The gender tag is also store specific, as I mapped this our via 'Product Type' as well. If all your product types are not mapped out with gender specific verbiage, you can always do this via tags. Unlike the Google Product Category Tag this tag is not mandatory for pinterest (it will give you an alert, not an error). However this is a very important tag if you want to market directly to women/men. With Pinterest being heavily used by women over men, it makes sense to have this tag properly installed so you can save money in marketing costs.
@adlamoureux wrote:Well it's actually two things that are store specific based on the code i wrote. The Gender tag and the Google Product Category tag.
How I have done it is to use the 'Product Type' and map it to the Google Product Category. The one problem is, if you have a lot of products this is time consuming to map out. Hopefully you would only need to do it once. If you add additional Product Types later you would need to update this. I would not be able to answer how to do this, as it is store specific on how you named all your Product Types. It is possible to do this via tags as well, if your product types are not that gradular.
The gender tag is also store specific, as I mapped this our via 'Product Type' as well. If all your product types are not mapped out with gender specific verbiage, you can always do this via tags. Unlike the Google Product Category Tag this tag is not mandatory for pinterest (it will give you an alert, not an error). However this is a very important tag if you want to market directly to women/men. With Pinterest being heavily used by women over men, it makes sense to have this tag properly installed so you can save money in marketing costs.
Hello. I am not sure if I "Built the Google Out" Can you look at what I wrote? I think I may have done it wrong. I have 6 product types so I am not sure how elseif works when theres more than 2 options. Thank you in advance.
<!-- /templates/collection.liquid -->
{% comment %}
The contents of the collection.liquid template can be found in /sections/collection-template.liquid
{% endcomment %}
{% section 'collection-template' %}
{% layout none %}<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
{%- paginate collection.products by 1000 -%}
<channel>
<title>Pinterest Data Feed</title>
<link>https://sid-sam.myshopify.com/</link>
<description>Feed for Pinterest catalog</description>
{%- for product in collection.products -%}
{%- if product.variants.size > 0 -%}
{%- for variant in product.variants -%}
<item>
<g:id>shopify_US_{{ product.id }}_{{ variant.id }}</g:id>
<g:title>{{ product.title | strip_html | strip_newlines | replace: '&', '&' }}</g:title>
<g:description>{{ product.description | replace: '</', ' </' | strip_html | strip_newlines | replace: '&', '&' }}</g:description>
<g:price>{{ variant.price | money_without_currency }} USD</g:price>
<g:link>{{ shop.url }}{{ variant.url }}</g:link>
<g:item_group_id>{{ product.id }}</g:item_group_id>
<g:availability>{% if product.available %}In Stock{% else %}Out of Stock{% endif %}</g:availability>
<g:condition>new</g:condition>
<g:Size_Type>regular</g:Size_Type>
<g:image_link>https:{% if variant.image.src %}{{ variant.image.src | product_img_url: 'grande' }}{% else %}{{ product.featured_image.src | product_img_url: 'grande' }}{% endif %}</g:image_link>
{%- if product.type contains "Kids" -%} <g:agegroup>kids</g:agegroup>
{% else %} <g:age_group>adult</g:age_group>
{% endif %}
<g:gtin>{{ variant.barcode }}</g:gtin>
{%- if product.type contains "Women" -%}<g:gender>female</g:gender>
{%- elsif product.type contains "Men" -%}<g:gender>male</g:gender>
{% else %} <g:gender>unisex</g:gender>
{% endif %}
<g:mpn>{{ variant.sku }}</g:mpn>
<g:product_type>{{ product.type | replace: '&', '&' }}</g:product_type>
<!--- Add your google product info here (and deleted this note)--->
{%- if product.type == "tops" -%}
<g:google_product_category>194</g:google_product_category>
{%- elsif product.type == "bottoms"-%}<g:google_product_category>204</g:google_product_category>
{% endif %}
</item>
{% endfor %}
{% else %}
<item>
<g:id>shopify_US_{{ product.id }}_{{ variant.id }}</g:id>
<g:title>{{ product.title | strip_html | strip_newlines | replace: '&', '&' }}</g:title>
<g:description>{{ product.description | replace: '</', ' </' | strip_html | strip_newlines | replace: '&', '&' }}</g:description>
<g:price>{{ product.price | money_without_currency }} USD</g:price>
<g:item_group_id>{{ product.id }}</g:item_group_id>
<g:condition>new</g:condition>
<g:Size_Type>regular</g:Size_Type>
<g:availability>{% if product.available %}In Stock{% else %}Out of Stock{% endif %}</g:availability>
<g:image_link>https:{{ product.featured_image.src | product_img_url: 'grande' }}</g:image_link>
{%- if product.type contains "Kids" -%} <g:age_group>kids</g:age_group>
{% else %} <g:age_group>adult</g:age_group>
{% endif %}
<g:gtin>{{ product.barcode }}</g:gtin>
{%- if product.type contains "Women" -%}<g:gender>female</g:gender>
{%- elsif product.type contains "Men" -%}<g:gender>male</g:gender>
{% else %} <g:gender>unisex</g:gender>
{% endif %}
<g:mpn>{{ product.sku }}</g:mpn>
<g:product_type>{{ product.type | replace: '&', '&' }}</g:product_type>
<!--- Add your google product info here (and deleted this note)--->
{%- if product.type == "accessories" -%}
<g:google_product_category>166</g:google_product_category>
{%- elsif product.type == "shoes"-%}<g:google_product_category>187</g:google_product_category>
{% endif %}
</item>
{% endif %}
{% endfor %}
</channel>
</rss>
{% endpaginate %}
I am not much into google product category stuff. Can someone explain how can I add that? or is there any document? Where I need to setup google product category?
Yes your url should just be page if you are doing it how I instructed.
example - https://YOURSTORE.com/collections/pinterest-feed
if you go to this page yourself.. you should see text only populate. If you have a lot of products lets say over 500, you maybe having an issue with it fully loading.
If i use just the URL as stated https://MYSTORE.com/collections/pinterest-feed and XML as the type for Pinterest, I get an error stating that "Catalogs doesn't support your file type" and "Currently, Catalogs only supports the following file types: comma-separated (.CSV), tab-separated (.TSV) and extensible markup language (.XML). Save your file as one of these types and try your upload again."
I did the .liquid page as instructed and if i navigate to the page it just returns text. Please help with how to upload this to Pinterest. Thanks.
Hi, I am having exactly the same problem as other people on here - I'm verified on the Merchant Program ok but it won't upload the catalogue - I get the same message as other people with 25 products with errors. I have no clue how to fix these errors.
Someone mentioned that this thread is not about rich pins but this is how Pinterest have told me to get rich pins to work (product pins specifically). When I verify a product URL from my website it pulls through the product details (cost, availability etc) but this doesn't show on the actual pin.
I have contacted Pinterest who reply but with unhelpful information. I have pointed out to them that their help pages are out of date but they're not interested!
Is there a way to fix this that doesn't involve complex coding? I am totally lost looking at the coding advice here! Is there anyway that I can export my Shopify product data as a spreadsheet file and fix the data manually before uploading to Pinterest? Also how would this work in terms of dynamic info such as stock availability and new products?
Please help, am finding the Shopify/Pinterest experience really frustrating!
Not sure if anyone is still following this thread but... I may have a solution that doesn't involve coding.
If you add Google as a sales channel and try to upload your products it'll have 25+ that can't be uploaded because they are missing the required product data. I am assuming this is the same data that is missing when Pinterest tries to upload a standard Shopify catalogue.
If you follow these instructions it shows you how to add this data within the Google Shopify app (no coding - I hope) https://help.shopify.com/en/manual/promoting-marketing/create-marketing/google/syncing-products
I'm adding this data now and hopefully when Pinterest tries to upload my products again it should work... fingers crossed!
how did it go for you? All my products are correctly uploaded onto my google shopping, but i'm still having the same problem with pinterest
Did it work?
Unfortunately not - I have 26 products approved by Google now but my Shopify catalogue is still failing to upload to Pinterest.
I've contacted Pinterest several times and they are so unhelpful. It's got to the point that their recent emails just don't even make sense!
I'm hoping that when the Pinterest Shopify App is available to UK users that this will fix the problem....
I came across this problem too and tried adding .atom at the end of my shopify URL for the data source URL for Pinterest. It seemed to work at first except for the 25 error links that other people have mentioned. Then I tried to save the CSV from Shopify to my Dropbox, and use the URL from there, but that didn't work. Then I looked for the a Pinterest-compatible app (I can't use the Pinterest app because I'm based in the UK), and then saw some product feed apps like these https://apps.shopify.com/product-feeds-generator?surface_detail=pinterest&surface_inter_position=2&s... and one called GMC Feed that I downloaded, it then generated a URL that I copied into Pinterest and the link seems to have been accepted. Now I have to wait 24-48 hours to see if it actually worked. Either way, it looks like there are apps out there than can generate product feeds for you to just copy the link to wherever you want the feed.
omg you lifesaver! GMC is working! for 200 feeds only but enough for now.
FINALLY!
I have almost 1000 products. We shouldn't have to pay for GMC to have a working way to get Pinterest to recognize Shopify feeds.
you need to get the google product category txt document from google and assign categories to products. Simple as that.
This cannot be done without that.
I'm following along here and trying to understand all of this. I don't understand though where to find the google product category txt document from to set up the new template. While I'm at it...I'm not so good with code at all. If anyone has time to help I would greatly appreciate it. Thank you!
User | RANK |
---|---|
36 | |
25 | |
23 | |
16 | |
14 |
Explore the 30-30-30 rule, a dynamic social media strategy for new businesses. Learn how t...
By Trevor Sep 20, 2023Discover how to leverage the often overlooked footer of your ecommerce site to gain custom...
By Skye Sep 15, 2023In this blog, we’ll be shining a light on Shopify Partners, Experts, and Affiliates. Who a...
By Imogen Sep 13, 2023