Sorry, no content matched your criteria.
500-101: Meta (Facebook) Certified ads product developer I Answers
500-101: Meta (Facebook) Certified ads product developer I Answers
This certification measures competency in the technical implementation of marketing solutions. The certification consists of two required parts: a multiple choice exam (500-101) and a coding exercise (500-201).
EXAM AUDIENCE
Software developers, front end engineers, website developers, IT consultants, technology integrators, technology consultants, technical account managers, technical partner managers
Blueprint Certification
Some Questions and Answers
A developer is the admin for their client's Business Manager, which already contains the client's ad accounts. The client has a total of 3 Pages from where they want to run ads. The developer is not the admin of any of the Pages, and the Pages are not included in the Business Manager.
What is the most efficient way for the developer to begin running ads for these Pages?
- Request access for the 3 Pages directly from the Business Manager, and then assign users to access the Page.
- Ask the client to create a Business Manager for the 3 Pages, and then add that Business Manager as a child business to the existing Business Manager.
- Request access to become the sole admin owner for the 3 Pages, and then import the Pages to the Business Manager.
- Ask the client to create a Business Manager for each of the 3 Pages, and then add each Business Manager as a child business to the existing Business Manager.
Explanation:
If a Business Manager already exists, the most efficient way to add Pages is to request importing them as an asset directly through Business Manager. The other answers require unnecessary steps to gain permissions that are inefficient and not recommended best practice.
https://www.facebook.com/business/help/183277585892925?id=420299598837059
https://www.facebook.com/business/help/720478807965744?id=420299598837059
https://www.facebook.com/business/help/166896210924641?id=420299598837059
A client creates a Business Manager for their Facebook Page. The client wants an agency that owns a separate Business Manager to also manage the Page.
How should the agency be granted access to manage this Page within Business Manager?
- Claim the Page as part of the agency's own Business Manager.
- Share the Page as an asset with the agency Business Manager.
- Add the admin of the agency Business Manager as an admin of the client Business Manager.
- Share the ad account associated with the Page as an asset with the agency Business Manager.
Explanation:
https://www.facebook.com/business/help/695463587559330?id=2190812977867143
https://www.facebook.com/business/help/1717412048538897?id=2190812977867143
A business wants to advertise products from its inventory based on website activity.
At a minimum, which standard pixel events must be tracked?
- ECOMMERCE, SERVICES
- AddToCart, Purchase, ViewContent
- Search, ViewContent, AddToCart, Purchase
- Search, ViewContent, AddToCart, InitiateCheckout, Purchase
Explanation:
Before you can set up dynamic ads, you must first be tracking the following standard events: AddToCart, Purchases, ViewContent. Search and InitiateCheckout are not required events. You must also include a parameter object with specific object properties with each tracked event. Required object properties for each standard event include the following: content_type and either content_ids or contents. Once you have confirmed that the Events Manager is tracking your standard events correctly (which may take up to 24 hours), use the Catalog Manager to set up your product catalog and dynamic ad template, and target the standard events.
https://developers.facebook.com/docs/facebook-pixel/implementation/dynamic-ads/
An ecommerce market has a pixel configured to update their catalog inventory each time an item is purchased from their website. However, out-of-stock items are still being shown in the ads.
Which action should be taken to diagnose this issue?
- Use the microdata debugger tool to determine whether the pixel is configured correctly.
- Ask the business which items are currently out of stock, then check running campaigns to see if those items appear. If they appear, inspect the pixel code for those items.
- Use the data feed debugger tool to make sure the inventory column in the catalog is formatted properly.
- Ask the business which items are currently out of stock, then use the data feed debugger to locate where appropriate updates are not occurring.
Explanation:
You can use Facebook pixel to automatically update the availability of items in your catalog. This inventory maintenance method requires adding microdata to your website, which are tags that contain information about the item for sale, such as price, brand and availability. If a client is experiencing a sync issue between their inventory and product catalog, this indicates that there is an issue with the microdata. To diagnose the issue, the developer should use the microdata debugger tool.
https://developers.facebook.com/docs/marketing-api/catalog/guides/microdata-tags
https://www.facebook.com/business/help/1175004275966513?id=725943027795860
https://business.facebook.com/ads/microdata/debug
A client uploads a data feed to their catalog and plans to update it with new descriptions. The new data feed is 250 MB and only contains the updated description field.
How should the client update their catalog using Catalog Manager?
-
- Split the data feed into 3 files, each less than 100 MB.
- Select Settings under the original data feed file, and use a single upload to update the data feed.
- Repeat for all 3 files.
- Select Settings under the original data feed file, and use a single upload to update the data feed.
- Upload the new data feed.
- Select Settings under the original data feed file, and use a single upload to replace the data feed.
- Upload the new data feed.
- Split the data feed into 3 files, each less than 100 MB.
- Select Settings under the original data feed file, and use a single upload to replace the data feed.
- Repeat for all 3 files.
Explanation:
Because the client needs to only update their catalog with new descriptions, there is no need to replace the data feed. Rather, a one-time direct upload to update the data feed should be performed. The developer can set update_only to true so that items won't be deleted from the feed, just updated. The developer only needs to provide id to update existing items. Additionally, at a size of 250 MB, a single file should not (and cannot) be uploaded. Facebook recommends breaking larger feeds into smaller ones for faster uploads. There is a limit of 100 MB per feed file via Business Manager.
https://developers.facebook.com/docs/marketing-api/dynamic-product-ads/faq
https://developers.facebook.com/docs/marketing-api/catalog/guides/feed-api#direct-upload-feed
An online vendor sells socks that come in many colors and sizes. Currently, each brand of sock has one row in their data feed file.
How should the data feed file be reconfigured?
- List all variants of the each brand of sock, and use the item_group_id column to group them together.
- Combine all sock brands into a single product, and use 3 custom columns that list all of the brands, colors and sizes.
- List all variants of each brand of sock, and prefix the id in the id column with a unique set identification number.
- Keep the data feed file formatted with each brand with its own row, and add custom columns for size and color.
Explanation:
Product variants are variations of a product under one parent product. For this example, the parent product is the brand of sock and the variants are the different colors and sizes within that brand. To configure the data feed files, the developer must add multiple products grouped by the same item_group_id field.
https://developers.facebook.com/docs/marketing-api/catalog/guides/product-variants
A client creates a new pixel to use on their website to measure completed registrations. In the first week after implementing the pixel base code, the client records 200 complete registrations in their system. The client sees only 180 complete registration events in the Facebook pixel dashboard.
What is a potential cause of this discrepancy?
-
- The pixel is firing multiple times for the same CompleteRegistration event.
- The pixel was not loaded before a page exit.
- Web crawlers triggered a CompleteRegistration event each time they crawled the page.
- Advanced Matching was not configured for this event.
Explanation:
If a web page visitor closes the page, clicks on a link, or navigates away before the pixel event activates, the action will not be tracked. A significant percentage of actions and conversions can be lost due to this. The developer should remove this issue by placing the pixel code early in the web page, preferably just before the closing </head> tag in the HTML. If the pixel is firing multiple times or a web crawler is triggering events, the client would see more registered events, not less. Additionally, regardless of how Advanced Matching is configured, it shouldn't cause a drop in the events fired.
https://developers.facebook.com/docs/facebook-pixel/support/pixel-helper
An online retailer is running a limited-time 75% off sale on select items. The retailer creates a single page on their website to display these items and installs a pixel to track PageView events directly on the page. However, no pixel events appear in Events Manager. The Facebook Pixel Helper does not show any pixels firing.
The complete <head> tags on the retailer's page that contain the pixel base code are shown:
<head>
<!-- Facebook Pixel Code -->
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '177958950102194');
fbq('track', 'PageView');
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=144758922917214&ev=PageView&noscript=1"
/></noscript>
<!-- End Facebook Pixel Code -->
</head>
The pixel ID is correct.
What is causing the base code to malfunction?
- There are missing tags in the base code.
- There was a PageView event instead of a ViewContent.
- The base code was not placed in the <body> tag.
- The parameters set in the <img> tag are incorrect.
Explanation:
There's a basic coding error here. The source of the issue is that pixel code is written in Javascript, not HTML. Script tags that indicate that this change from HTML to Javascript are required for the pixel to initialize and fire.
A developer discovers that a client has 2 pixels on their website.
Refer to the following code:
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '1234');
fbq('track', 'PageView');
fbq('init', '5678');
fbq('track', 'Purchase');
</script>
What behavior is a result of this code?
- Pixel 1234 receives a PageView event. Both pixels receive a Purchase event.
- Both pixels receive PageView and Purchase events.
- Pixel 1234 receives a PageView event. Pixel 5678 receives a Purchase event.
- This code causes an error.
Explanation:
When the init function is called against a pixel ID, it stores it in a global queue structure where any subsequent call to track or trackCustom is fired for any pixel that was previously initialized. Therefore, we will see pixel 1234 receive a Purchase event, even though Purchase event call is inserted after the initialization call for pixel 5678. If unaware of this behavior, you may be firing extra events that may inadvertently affect reporting. If you have multiple pixels on the same page and would like to selectively fire events on each unique pixel, the trackSingle and trackSingleCustom capabilities should be used.
https://developers.facebook.com/docs/facebook-pixel/implementation/accurate_event_tracking
A client wants to capture the event of users sharing a promotion code with their friends. The advertiser suggests using a custom event. The following pixel code is added:
<!DOCTYPE html>
<html>
<head>
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '1391954354806557');
fbq('track', 'PageView');
fbq('track', 'CustomShareEvent', {
promotion: 'share_discount_10%',
custom_param1: 'ABC',
value: 10.00,
currency: 'USD'
});
</script>
fbq('track', 'CustomShareEvent', {
promotion: 'share_discount_10%',
custom_param1: 'ABC',
value: 10.00,
currency: 'USD'
});
</head>
</html>
Which problem is presented in this code?
-
- custom_param1 is an invalid property.
- value and currency are invalid for the events.
- Custom events are used incorrectly.
- The pixel code is not placed correctly.
Explanation:
The pixel code for tracking a custom event should go anywhere between your webpage's opening and closing <body> tags, either when your page loads, or when a visitor performs an action like clicking a button to share a promotion code like this instance. The fbq('trackCustom') function is incorrectly placed here in the header tags, which is only where the pixel base code should go.
https://developers.facebook.com/docs/facebook-pixel/implementation/conversion-tracking
An ecommerce advertiser wants to start firing a pixel event when the user clicks Add To Cart. The advertiser has already initialized the pixel code in this page and has been sending the PageView event. It also uses the JQuery library on the webpage. The Add To Cart button HTML code is below:
<body>
...
<button id="addToCartButton">Add To Cart</button>
...
</body>
How should the developer amend the code to start sending the AddToCart pixel event?
-
- <button id="addToCartButton">Add To Cart</button>
<script>
fbq('track', 'AddToCart');
</script> - <button id="addToCartButton">Add To Cart</button>
<script type="text/javascript">
fbq('init', '292287931437005');
$('#addToCartButton').click(function() {
fbq('track', 'AddToCart', {currency: "USD", value: 30});
});
</script>
- <button id="addToCartButton">Add To Cart</button>
- <button id="addToCartButton" onClick="fbq('track', 'AddToCart', {currency: "USD", value: 30})">Add To Cart</button>
- <button id="addToCartButton">Add To Cart</button>
<script>
fbq('init', '292287931437005');
fbq('track', 'AddToCart', {currency: "USD", value: 30});
</script>
Explanation:
There needs to be an action to define the response to the button click, which is missing in two of the answers here. Plus, since the advertiser has already initialized the pixel code on this page, there is no reason to reinitialize it.
https://developers.facebook.com/docs/facebook-pixel/advanced
An ecommerce business recently enabled automatic Advanced Matching for their pixel, but has not seen much improvement in the volume of web conversion events in Events Manager. The following pixel base code is directly on all pages of the business website:
<!-- Facebook Pixel Code -->
<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=123456&ev=PageView&noscript=1"/>
<!-- End Facebook Pixel Code -->
Based on the information above, what is causing this issue?
- The src is using HTTPS instead of HTTP.
- The pixel is implemented in an iframe.
- The pixel is implemented with an <img> tag.
- The pixel is missing from pages where users submit forms.
Explanation:
For automatic advanced matching to work on a website, the pixel must not be in an iframe or be implemented using an <img> tag. The code presented here shows the pixel implemented within an <img> tag, which is the source of the problem in this instance.
https://www.facebook.com/business/help/1993001664341800
A shoe advertiser plans to create a custom conversion to capture actions from users who browse high heels on their website.
Which event category should the advertiser use when creating this custom conversion?
- ViewContent
- Search
- PageView
- Purchase
Explanation:
Since the shoe advertiser wants to capture actions from users that look at high heels on their site, the most appropriate event category is ViewContent, which captures visits to a web page the advertiser care about, in this case a product page for high heels.
https://developers.facebook.com/docs/facebook-pixel/implementation/conversion-tracking#custom-conversions
https://www.facebook.com/business/help/434245993430255
xhttps://developers.facebook.com/docs/facebook-pixel/reference#standard-events
A client is implementing pixel-based catalogs.
Which limitation will the client experience for running dynamic ads?
-
- The client will be unable to update products as "out-of-stock".
- Only products that have been visited by customers will appear in the dynamic ads.
- Only products without product variants will appear in the dynamic ads.
- The catalog will be unable to pick up on product variants for effective retargeting.
Explanation:
One method to add items to your catalog is to use the Facebook pixel. The pixel can add new items to your catalog and update product information automatically whenever someone views that item on your website. The key here is that the items are only added when someone visits that item on your website. Therefore, items that have not yet been visited will not appear in dynamic ads.
https://www.facebook.com/business/help/887775018036966?id=725943027795860
https://www.facebook.com/business/help/1175004275966513?id=725943027795860
https://developers.facebook.com/docs/marketing-api/catalog/guides/microdata-tags
An ecommerce client has the following pixel implementation on their website:
<head>
<script>
!function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', 'PIXEL_ID');
fbq('track', 'InitiateCheckout');
function placeOrder(){
if(validateOrder()){
submitPurchaseOnBackend(); // Assume valid implementation
products.forEach(product => {
fbq('track', 'Purchase', {content_type: 'product', content_ids: [product.id], currency: "USD", value: product.price});
});
}
}
</script>
</head>
<h2>You're almost done! Confirm order details</h2>
<div id="cart">
...
</div>
<form>
<input type="text" name="name"/>
<input type="text" name="email"/>
<input type="text" name="address"/>
<input type="submit" value="Place order" onclick="placeOrder()"/>
</form>
What is a result of this pixel setup?
- The client will overreport purchases to Facebook.
- The client will be unable to retarget users who failed to click Place Order.
- The client will be able to accurately gauge the number of purchases on Facebook.
- The client will underreport purchases to Facebook.
Explanation:
A purchase can have multiple products, but in the code, Purchase events are being sent for each individual products in the purchase. Therefore, purchases are being over-reported to Facebook in comparison to the client's system. To fix this, only fire one Purchase event for the whole order.
https://developers.facebook.com/docs/facebook-pixel/implementation/conversion-tracking
A client is utilizing Shopify for their ecommerce business. The client wants to integrate Facebook tracking to better leverage dynamic ads. The client has enabled the Shopify Marketing extension and provided them with the pixel ID. In the settings of their Shopify Checkout, the client includes the following code:
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '2151228495181312');
fbq('track', 'Purchase', {value: '{{ subtotal_price | money_without_currency }}', currency: 'USD'});
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=2151228495181312&ev=PageView&noscript=1"
/></noscript>
What is the expected outcome of this implementation?
- The pixel fails to capture Purchase events because the value parameter is incorrectly set.
- The pixel over reports on Purchase events and fires regardless of whether the purchase is completed.
- The pixel counts all Purchase events twice.
- The pixel accurately captures all Purchase events.
Explanation:
Shopify has a native integration with Facebook pixel. The developer needs to only input the pixel ID into Business Manager when connecting their/the client's Shopify account to Facebook. If the pixel is also also coded into theme files or to the Additional Scripts section of Shopify, the pixel will fire twice almost every time a confirmation page is loaded.
https://www.facebook.com/business/help/646757258759189
A Facebook advertiser's website is hosted on http://www.example.com. The advertiser sees discrepancies between Facebook Analytics and its own analytics tool. The pixel code is as shown:
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '292287931437005', {ea: 'johnsmith@example.com', fn: 'john', ct: 'menlopark', st: 'ca'});
fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=292287931437005&ev=ViewContent&noscript=1"
/></noscript>
What are the reasons for this discrepancy? (Choose 2)
Select All Correct Responses
- There is an issue with the Advanced Matching parameters.
-
- There is a critical error with the JavaScript syntax.
- The client's website is not hosted on a secure https domain.
- There is a mismatch in pixel event types.
Explanation:
Hard coding information, which is what we see here with {ea: 'johnsmith@example.com', fn: 'john', ct: 'menlopark', st: 'ca'}, without pulling it from the site would cause issues in Advanced Matching. Additionally, there is a mismatch between initiate TrackPageview and referencing the event type as ViewContent. These two must be consistent.
https://developers.facebook.com/docs/facebook-pixel/advanced/advanced-matching/
A client tries to add products to their catalog, but experiences issues when uploading the following CSV file:
id | title | description | link | image_link | availability | price | gtin | brand | shipping |
1 | Dog bowl yellow | Yellow bowl | http://www.example.com/bowls/db-1.html | https://www.example.com/bowl.png?id=1 | in_stock | 10 USD | Example | US::Standard:10 USD | |
2 | Dog bowl blue | Blue bowl | http://www.example.com/bowls/db-2.html | https://www.example.com/bowl.png?id=2 | in_stock | 10 USD | Example | US::Standard:10 USD |
What is causing the product upload failure?
- The gtin is not specified.
- The shipping field has an incorrect value.
- The availability field has incorrect values.
- The product group ID is not specified for product variants.
Explanation:
The correct value for the availability field is in stock, not in_stock. The acceptable values for this field are the following: in stock (item ships immediately), available for order (ships in 1-2 weeks), preorder (available in future), out of stock (not available in current stock), and discontinued.
https://developers.facebook.com/docs/marketing-api/catalog/reference/#supported_fields
The Catalog Manager sends a warning that Facebook has not received any Purchase events for a catalog. The ViewContent and AddToCart events have a perfect match rate. The following code has been placed on the client's website:
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '123456');
fbq('track', 'PageView');
fbq('track', 'Purchase', {content_type: 'products', content_ids: [123,456]};
</script>
Which action should be taken so that Catalog Manager recognizes the Purchase events?
- Correct the content_type parameter.
- Correct the content_ids parameter.
- Add currency and value parameters.
- Add an order_id parameter.
Explanation:
The correct content_type parameter is product, not products. If the IDs being passed in content_ids or contents parameter are IDs of products then the value should be product.
https://developers.facebook.com/docs/facebook-pixel/implementation/conversion-tracking#%23Object-properties
A non-technical advertiser wants to set up Advanced Matching for an existing pixel on their website to increase the conversion rate. The phone numbers of this advertiser's clients should not be used as part of the matching criteria.
How should the advertiser set up Advanced Matching?
- Enable automatic Advanced Matching in Events Manager and turn off the toggle for the phone number.
- Enable automatic Advanced Matching in Events Manager and create a rule in Traffic Permissions to block inbound phone numbers.
- Update the pixel code for manual Advanced Matching and mask the first 5 digits of the phone number.
- Update the pixel code for manual Advanced Matching and perform an MD5 hash on the phone number to encrypt the field.
Explanation:
A non-technical advertiser will likely want to implement automatic versus manual Advanced Matching so they don't need to worry about manipulating their website's code. To remain in compliance with the advertiser's criteria to remove phone numbers, the developer can toggle off the option for utilizing phone numbers on the dashboard.
https://www.facebook.com/business/help/1993001664341800
Facebook Blueprint Test taker tips
Testing Experience
More info about this certification: https://www.facebook.com/business/learn/certification/exams/500-101-exam
Facebook Blueprint Certifications:
- 100-101 Facebook Certified Digital Marketing Associate Answers
- 200-101 Facebook Certified Marketing Science Professional Answers
- 300-101: Facebook Certified Creative Strategy Professional Answers
- 400-101: Facebook Certified Media Planning Professional Answers
- 410-101: Facebook Certified Media Buying Professional Answers
- 500-101: Facebook Certified ads product developer I Answers
- 510-101: Facebook Certified Advanced Marketing Developer Answers
- 520-101: Facebook Certified Advertising API Developer Answers
- 600-101: Facebook Certified Community Manager Answers