Sorry, no content matched your criteria.
520-101: Meta (Facebook) Certified Advertising API Developer Answers
520-101: Meta (Facebook) Certified Advertising API Developer Answers
This certification measures competency configuring and troubleshooting Marketing API integrations. The certification consists of two required parts: a multiple choice exam (520-101) and a coding assessment (520-201). Facebook Certified Marketing Developer is a prerequisite for this certification.
EXAM DURATION
90 min
CODING ASSESSMENT DURATION
Approximately 2 hours
CERTIFICATION AUDIENCE
Software developers, full stack engineers, backend engineers, solutions architects
This certification is only available in English.
Some questions and answers
A company's internal developer needs to use the Conversions API to implement event capture. The company has a Facebook app and a System User created. The developer plans to create a new access token through Business Manager to send events using the Conversions API.
Before using the token to send events, which asset should the developer assign to the System User?
-
- Facebook app
- Ad account
- Facebook Page
- Facebook pixel
Explanation:
As stated in the documentation, when a user generates an Access Token from a System User within the Business Manager, the user must assign the Facebook pixel to the System User before creating the Access Token.
Facebook for Developers Documentation
A developer submits an app for review and wants to invite friends of a user to access the app and determine the user's friend count.
The developer makes sure the following requirements are met:
- A 1024 x 1024 compliant app icon image uploaded to Settings > Basic > App Icon
- Screen recordings of the app using each permission and feature that will be requested
- Test User credentials for reviewers to test and verify the proper usage
The app is rejected.
What is a potential reason for this rejection?
- user_friends permission is used improperly.
- user_profile permissions are missing.
- user_link permission is being used.
- The test user has no friends.
A company is collecting website leads via phone calls and SMS messages and sending these leads to their offline sales team. The sales team then qualifies the leads and marks them as good or bad in the CRM. These initial calls and SMS messages are tracked by their Facebook pixel under the Lead event and used to optimize marketing campaigns.
The company is experiencing low lead quality, and the sales team is overwhelmed with customers who are not ready for the next step in the buying cycle.
Which solution should the developer use to send qualified leads to the pixel?
- Implement the Conversions API to send qualified lead events the pixel
- Upload the qualified call and SMS data to the offline conversions interface
- Implement additional parameters into the pixel Lead event to identify qualified leads
- Implement the Offline Conversions API to send qualified call and SMS data to the pixel
A company tracks the purchases of its product through the Facebook pixel whenever a user completes a transaction on the website. The product also has an option that allows customers to opt into a recurring monthly subscription for this product. The subscription bills monthly and can be cancelled at any time.
The company wants to be able to report on any recurring transactions processed in the proceeding months. The company asks the developer to send this data to the pixel.
Which real-time solution should the developer use in this situation?
-
- Implement the Offline Conversions API to send post-purchase subscription events
- Upload the post-purchase events to the offline conversions interface
- Implement the Conversions API to send post-subscription payment events
- Implement the subscribe event to fire upon a recurring payment event
Explanation:
To help understand which marketing campaigns are driving the most value from post purchase subscription events, advertisers should send these events via the Conversions API to indicate these conversion events within the Facebook pixel.
Facebook for Developers Documentation
A client needs to directly implement the Conversions API.
Which courses of action can the client take to initiate the process? (Choose 2)
- Create an access token via Events Manager and follow the Implementation instructions
-
- Generate an access token via Business Manager settings and submit the app for review
- Generate an access token via Business Manager settings after assigning a pixel to a system user
- Create an access token via Events Manager and assign the pixel to a system user
Explanation:
No app review necessary. Developers can either create the token via Events Manager and follow the instructions, or they create it via Business Manager and assign a pixel to the system user
Facebook for Developers Documentation
A company wants to implement the Conversions API but has concerns about providing consistent PII for all customers.
Which options can the company use to successfully send user information? (Choose 2)
- Include external ID with their events
- Include order ID with their events
- Include the existing hashed user information
- Include the fbp parameter
Explanation:
External_ID and fbp are both ways of globally identifying a user.
Facebook for Developers Documentation (1/2)
Facebook for Developers Documentation (2/2)
A client is already sharing events with Facebook using the Offline Conversions API. The client wants to increase the number of users matched by including the phone number in the upload. One user has the country code 13, area code 245 and number 5551212.
How should that user's number be sent through the Offline Conversions API?
-
- +132455551212
- (245)5551212
- 132455551212
- 5551212
Explanation:
Remove symbols, letters, and any leading zeroes. You should prefix the country code if COUNTRY field is not specified.
Facebook for Developers Documentation
A retail brand wants to track Offline Conversions for in-store purchases. The brand wants to use the Offline Conversions API to send these purchase events to Facebook.
A developer prepares the following code to send the API requests:
curl \
-F 'access_token=SYSTEM_USER_ACCESS_TOKEN' \
-F 'upload_tag=store_data' \
-F 'data=[ \
{
match_keys: {"phone": ["HASH1","HASH2"], "email": ["HASH3","HASH4"], "name": ["HASH5","HASH6"]},
currency: "USD",
value: 16,
event_name: "Purchase",
event_time: 1456870902,
contents: [
{id: "A", quantity: 1},
{id: "B", quantity: 2},
{id: "C", quantity: 1}
]
custom_data: {
event_source: "in_store"
},
}
]' https://graph.facebook.com/VERSION/OFFLINE_EVENT_SET_ID/events
What will cause this API request to fail?
- use of the custom_data parameter
- use of the purchase value
- hashing of the match_keys data
- use of the name parameter
Explanation:
According to Facebook documentation, name is not a valid match_keys parameter to send in Offline Conversion API
Facebook for Developers Documentation
A client is sending both server-side and client-side Purchase events.
Which options are required on the client side to make sure events are deduplicated? (Choose 2)
- fbq('track', 'Purchase', {value: 12, currency: 'USD'}, {eventID: 'EVENT_ID'});
-
- fbq('trackSingle', 'SPECIFIC_PIXEL_ID', 'Purchase', {value: 12, currency: 'USD', eventID: 'EVENT_ID'});
- fbq('track', 'Purchase', {value: 12, currency: 'USD', eventID: 'EVENT_ID'});
- fbq('trackSingle', 'SPECIFIC_PIXEL_ID', 'Purchase', {value: 12, currency: 'USD'}, {eventID: 'EVENT_ID'});
Explanation:
The eventID is in its own block, separate from the regular parameters.
Facebook for Developers Documentation
A client is sending both server-side and client-side pixel purchase events.
Which data is required for a valid request and event deduplication on the server side?
- {
"data": [{
"event_name": "Purchase",
"event_time": 1606929970,
"event_id": "123",
"user_data": {
"em": "7b17fb0bd173f625b58636fb796407c22b3d16fc78302d79f0fd30c2fc2fc068"
},
"custom_data": {
"currency": "USD",
"value": "142.52"
}
}]
}
- {
"data": [{
"event_name": "Purchase",
"event_time": 1606929970,
"event_id": "123"
"custom_data": {
"currency": "USD",
"value": "142.52"
}
}]
} - {
"data": [{
"event_name": "Purchase"
"user_data": {
"em": "7b17fb0bd173f625b58636fb796407c22b3d16fc78302d79f0fd30c2fc2fc068"
},
"custom_data": {
"currency": "USD",
"value": "142.52"
}
}]
} - {
"data": [{
"event_name": "Purchase",
"event_time": 1606929970,
"event_id": "123",
"user_data": {
"em": "7b17fb0bd173f625b58636fb796407c22b3d16fc78302d79f0fd30c2fc2fc068"
},
"custom_data": {
"value": "142.52"
}
}]
}
A company notices that the number of Facebook-attributed purchases is higher than the number in their CRM. The company is sending events via both Conversions API and a browser-side pixel.
What is an example of a potential cause of this issue?
-
- Some event_time values are more than 7 days old versus the time of the server-side POST.
- Some server events were sent more than 48 hours later than they occurred.
- Some server events have user data (em, fn, ln) that was not hashed.
- Some server events were sent without data processing options.
Explanation:
Events will not be deduplicated after 48 hours. The result would be double counting events. User data is required and external_id must be hashed. Otherwise, the Facebook server will reject the POST.
Facebook for Developers Documentation
A developer wants to send web conversion events from a company using the Conversions API. The conversion event for this company means booking an appointment. The only types of personal identification information requested are email address, date of birth and full name.
For some bookings, the company can also match the email provided to an existing customer in their CRM that also has a Facebook Lead ID or a Facebook Login ID.
The developer builds a code to translate the data to format as in the following payload example:
{
"data": [
{
"event_name": "Booking",
"event_time": 1607015983,
"user_data": {
"em": "alice@foo.com",
"db": "31/01/1980",
"fn": "alice",
"ln": "smith",
"lead_id": "123456789",
"fb_login_id": "987654321"
},
"custom_data": {
"content_name": "appointment"
}
}
]
}
Which additional actions must the developer take to match the Conversions API specifications? (Choose 2)
- Hash lead_id and fb_login_id parameters
- Hash em, db, fn, ln parameters
- Add value and currency to the custom_data parameter
- Update db parameter value to 19800131
Explanation:
value and currency are not mentioned in the sample event. Date of birth format needs correction and lead_id and fb_login_id should not be hashed.
A company completes setup of Conversions API and is sending Purchase events to the Facebook pixel via browser and server-side for increased measurement and accuracy.
Within 1 week of finishing the implementation, the performance of the brand's marketing campaigns increases significantly. ROAS doubles over this time period, but the brand has not increased their spend. The brand is concerned that this false increase in campaign performance is being caused by Purchase events being counted twice (one from pixel and one from the server).
What is the recommended method to diagnose this issue?
- Determine if the external_id parameter from web and server event are the same
- Determine if the event_id and event_name parameters from web and server event are the same
- Determine if the custom parameters from web and server event are the same
- Determine if the user data from the web and server are the same
Explanation:
As campaign performance has effectively doubled without additional spend, this indicates Purchase events are likely being duplicated. Ensure server-side events are being deduplicated via the event_name and event_id is recommended.
Facebook for Developers Documentation
After implementing Conversions API 2 months ago, a brand hires a new developer to maintain the website. The developer notices errors that prevent some events from being processed.
The developer implements a fix but needs to verify in real-time that the issue is solved and that updates can be made to the Conversions API. The developer implements the test_event_code parameter in the API request.
Which additional action should the developer take?
- Use Facebook Analytics to verify server events
- Use Test Events Tool to verify server events
- Use Facebook Analytics to verify browser events
- Use Test Events Tool to verify browser events
Explanation:
The developer should use the test_event_code and verify using the Test Events Tool.
Facebook for Developers Documentation
A client has consistently experienced a discrepancy between its Ads Manager conversion data and its reporting backend. The number of total conversions match, but the daily counts are consistently off by 25-50 conversions. One major use case for implementing the Insights API is to fix that discrepancy.
Which action should be taken to address this issue?
- Set use_account_attribution_setting parameter to true so it matches Ads Manager settings
- Set action_report_time parameter to "=conversion"
- Include the actions field instead of conversions field
- Pull conversions field instead of actions field
Explanation:
action_report_time determines the report time of action stats. For example, if a person saw the ad on Jan 1st but converted on Jan 2nd, when you query the API with action_report_time=impression, you see a conversion on Jan 1st. When you query the API with action_report_time=conversion, you see a conversion on Jan 2nd.
Facebook for Developers Documentation
A developer sends some events to Facebook via the pixel in a browser. The developer sends a separate set of events via the Conversions API in a data pipeline that runs every 24 hours. The campaigns that rely on the events sent via the pixel in a browser perform better than the campaigns that rely on events coming from the Conversions API. Both groups represent the same behavior on the website.
How should the developer improve accuracy of the events sent via the Conversions API?
-
- Update the Conversions API data pipeline to send data every 1 hour
- Add the Conversions API events with separate custom event names to the pixel
- Update the Conversions API data pipeline to send data close to real time
- Add Event ID to pixel and Conversions API events to deduplicate the two event streams
Explanation:
When you send events through pixel code, they're received in real time. When you send events through the Conversions API, you can choose how frequently to send your events data. To get the most value from your events data, send them through the Conversions API in real time or as close to real time as possible. Events sent with a delay are harder to attribute to your ad performance and may impact how effectively your ads can be delivered to the right audiences.
A client implements event_id parameter in the pixel and the Conversions API that sends data directly from their webserver for deduplication. In the Event Deduplication tab, the Event ID is present 100% for Conversions API but 0% for pixel. The client shows the following code snippet for the Facebook pixel:
fbq('track', 'Purchase', {
value: 12,
currency: 'USD',
event_id: '23478345',
});
Which actions should be taken to fix this issue? (Choose 2)
- Change event_id parameter in the pixel code from customData parameter to eventData parameter
- Change the event_id parameter name to eventID
- Change the event_id from plain text to hashed because event_id can be considered a form of PII
- Change the event_id value from a string to an integer
Explanation:
The eventID from Facebook pixel must match the event_id in the corresponding event coming from the Conversion API, and the eventID should be inside the optional eventData parameter in Facebook pixel code.
Facebook for Developers Documentation
A developer completes implementation of the Conversions API and is sending customer information parameters using user_data with the following keys:
- phone
- first_name
- last_name
- client_ip_address
- city
- country
The developer reviews Diagnostics in the Facebook Event Manager and notices errors across all server events that show Missing User Data Parameters.
What should be added to user_data to fix this error?
- client_user_agent
- external_id
- fb_login_id
- fbp and fbc
A brand sets up the Insights API and a test request. The API response returns an error with an Error Code of 10. There are results from recent campaigns in Ads Manager.
The brand creates a System User with the following assets:
- A Facebook Ad Account
- A Facebook App
- A Facebook Page
Which action is required to correct the API error?
- Assign the Ad Account to the System User assets
- Provide ads_read permission to the Facebook app
- Provide ads_read permission to the Facebook page
- Assign the Facebook Page to the Ad Account
Explanation:
The documented Error Code 10 points to a permissions error. The documentation states that ads_read permission is required on the Facebook App in order to access the Conversion API requests.
Facebook for Developers Documentation (1/2)
Facebook for Developers Documentation (2/2)
A retailer uses Offline Conversions to track in-store purchases of their candies. The retailer also sells the same product as free goodies and through sponsorships. The retailer wants to measure only the in-store purchases of the candies using a Custom Conversion based on the following data set:
data=[
{
match_keys: {"phone": ["<HASH>","<HASH>"], "email": ["<HASH>","<HASH>"]},
currency: "USD",
value: 16,
event_name: "Purchase",
event_time: 1456870902,
custom_data: {
product_category: "Candies",
},
},
]
Which code should be added to meet the retailer's requirements?
-
- curl \
-F 'event_name=Candies Purchasers' \
-F 'custom_event_type=PURCHASE' \
-F 'event_id=<OFFLINE_EVENT_SET_ID>' \
-F 'event_rule={"or": [{"event_name":{"eq":"Purchase"}},{"custom_data.product_category":{"i_contains":"candies"}}]}' \
- curl \
- curl \
-F 'name=Candies Purchasers' \
-F 'custom_event_type=PURCHASE' \
-F 'event_source_id=<OFFLINE_EVENT_SET_ID>' \
-F 'rule={"and": [{"event_name":{"eq":"Purchase"}},{"custom_data.product_category":{"i_contains":"candies"}}]}' \
- curl \
-F 'name=Candies Purchasers' \
-F 'custom_event_type=PURCHASE' \
-F 'event_source_id=<OFFLINE_EVENT_SET_ID>' \
-F 'rule={"or": [{"event_name":{"eq":"In store"}},{"custom_data.product_category":{"i_contains":"candies"}}]}' \ - curl \
-F 'name=Candies Purchasers' \
-F 'custom_event_type=PURCHASE' \
-F 'event_id=<OFFLINE_EVENT_SET_ID>' \
-F 'event_rule={"and": [{"event_name":{"eq":"In store"}},{"custom_data.product_category":{"i_contains":"candies"}}]}' \
Explanation:
This is the only option that contains the correct event_name (Purchase) and correct rule (using "and" not "or").
Facebook for Developers Documentation
More info about this certification:
https://www.facebook.com/business/learn/certification/exams/520-101-exam#
Facebook Blueprint Test taker tips
Testing Experience
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